Messages in this thread | | | From | Luiz Capitulino <> | Subject | [PATCH v2 0/6] kvm: x86: export TSC information to user-space | Date | Fri, 16 Sep 2016 10:27:30 -0400 |
| |
[Introduction will follow]
Changelog ---------
v2
- add tsc_offset field to struct kvm_vcpu_arch - drop read_tsc_offset() - add per-vcpu dir entries in debugfs - export TSC scaling info (besides TSC offset) - export the TSC offset as a signed number - drop patch that wrongly tried to improve error handling in kvm_create_vm_debugfs()
Intro -----
This series exports a VM's TSC offset and TSC scaling information to user-space via a new per-vcpu directory in debugfs. For example:
/sys/kernel/debug/kvm/66828-10/vcpu0/tsc-offset /sys/kernel/debug/kvm/66828-10/vcpu0/tsc-scaling-ratio /sys/kernel/debug/kvm/66828-10/vcpu0/tsc-scaling-ratio-frac-bits
The TSC offset in particular is needed in user-space in order for tracing tools, such as trace-cmd, to be able to merge the host and guest traces using the host TSC. This is explained in detail in this thread:
[Qemu-devel] [RFC] host and guest kernel trace merging https://lists.nongnu.org/archive/html/qemu-devel/2016-03/msg00887.html
Luiz Capitulino (6): kvm: x86: add tsc_offset field to struct kvm_vcpu_arch kvm: x86: drop read_tsc_offset() kvm: kvm_destroy_vm_debugfs(): check debugfs_stat_data pointer kvm: add stubs for arch specific debugfs support kvm: create per-vcpu dirs in debugfs kvm: x86: export TSC information to user-space
arch/arm/kvm/arm.c | 10 ++++++ arch/mips/kvm/mips.c | 10 ++++++ arch/powerpc/kvm/powerpc.c | 10 ++++++ arch/s390/kvm/kvm-s390.c | 10 ++++++ arch/x86/include/asm/kvm_host.h | 2 +- arch/x86/kvm/Makefile | 2 +- arch/x86/kvm/debugfs.c | 69 +++++++++++++++++++++++++++++++++++++++++ arch/x86/kvm/svm.c | 8 ----- arch/x86/kvm/vmx.c | 6 ---- arch/x86/kvm/x86.c | 12 +++++-- include/linux/kvm_host.h | 4 +++ virt/kvm/kvm_main.c | 40 ++++++++++++++++++++++-- 12 files changed, 161 insertions(+), 22 deletions(-) create mode 100644 arch/x86/kvm/debugfs.c
-- 2.5.5
| |