The current implementation of the 'kvm_pio' tracepoint in emulator_pio_in_out() only tells us that 'something' has been read from or written to an I/O port. To improve the usability of the tracepoint, I propose to include the value/content that has been read or written in the trace output. The proposed patch aims at the more common case where a single 8-bit or 16-bit or 32-bit value has been read or written -- it does not fully cover the case where 'count' is greater than one. This is an example of what the patch can do (trace of PCI config space access). - on the host # trace-cmd record -e kvm:kvm_pio -f "(port >= 0xcf8) && (port <= 0xcff)" /sys/kernel/debug/tracing/events/kvm/kvm_pio/filter Hit Ctrl^C to stop recording - in a Linux guest # dd if=/sys/bus/pci/devices/0000:00:06.0/config bs=2 count=4 | hexdump 4+0 records in 4+0 records out 8 bytes (8 B) copied, 0.000114056 s, 70.1 kB/s 0000000 1af4 1001 0507 0010 0000008 - on the host # trace-cmd report ... qemu-kvm-23216 [001] 15211.994089: kvm_pio: pio_write at 0xcf8 size 4 count 1 val 0x80003000 qemu-kvm-23216 [001] 15211.994108: kvm_pio: pio_read at 0xcfc size 2 count 1 val 0x1af4 qemu-kvm-23216 [001] 15211.994129: kvm_pio: pio_write at 0xcf8 size 4 count 1 val 0x80003000 qemu-kvm-23216 [001] 15211.994136: kvm_pio: pio_read at 0xcfe size 2 count 1 val 0x1001 qemu-kvm-23216 [001] 15211.994143: kvm_pio: pio_write at 0xcf8 size 4 count 1 val 0x80003004 qemu-kvm-23216 [001] 15211.994150: kvm_pio: pio_read at 0xcfc size 2 count 1 val 0x507 qemu-kvm-23216 [001] 15211.994155: kvm_pio: pio_write at 0xcf8 size 4 count 1 val 0x80003004 qemu-kvm-23216 [001] 15211.994161: kvm_pio: pio_read at 0xcfe size 2 count 1 val 0x10 Ulrich Obergfell (1): improve the usability of the 'kvm_pio' tracepoint arch/x86/kvm/trace.h | 20 ++++++++++++++++---- arch/x86/kvm/x86.c | 4 ++-- 2 files changed, 18 insertions(+), 6 deletions(-) -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html