Re: [Qemu-devel] Virtio related trace events.

2016-08-10 Thread Stefan Hajnoczi
On Tue, Aug 09, 2016 at 09:15:20AM +0530, Gadre Nayan wrote:
> echo virtqueue_kick_prepare > /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtqueue_kick >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo scsi_kick_queue >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_dev_match >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_config_changed >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_dev_remove >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_uevent >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo unregister_virtio_driver >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo register_virtio_device >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo unregister_virtio_device >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_init >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_check_driver_offered_feature >>
> /sys/kernel/debug/tracing/set_ftrace_filter
> echo register_virtio_driver >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_finalize_features >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_config_enable >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_dev_probe >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_device_restore >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_device_freeze >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_break_device >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_mmio_remove >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_mmio_probe >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_pci_modern_probe >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_pci_modern_remove >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_pci_release_dev >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_pci_restore >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_pci_freeze >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_pci_remove >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_pci_probe >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_pci_legacy_probe >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_pci_legacy_remove >> /sys/kernel/debug/tracing/set_ftrace_filter
> echo virtio_queue_rq >> /sys/kernel/debug/tracing/set_ftrace_filter

These functions are in the virtio guest drivers.  You can trace them
inside the guest, the host doesn't call them.

I guess you haven't set up ftrace correctly.  If you have trouble with
ftrace, try using perf-probe(1).

Stefan


signature.asc
Description: PGP signature


[Qemu-devel] Virtio related trace events.

2016-08-08 Thread Gadre Nayan
I am unable to get the virtio related events in either the
guest or the host.

My understanding is that in the Guest OS, I will have a virtio-blk
which is the driver, the device is the virtio-transport or the
virtio-queue, then the virtio-queue will raise a kick to then dispatch
the block request to the Host kernel block sub system.

So where will be the virtio, virtqueue events be seen in the traces,
in guest or in host ?

I have a guest and host where the following events are registerred:

echo 1 > kvm/enable [ this event is enabled Only on Host, rest are on
both guest and host]
echo 1 > block/enable
echo 1 > scsi/enable

echo virtqueue_kick_prepare > /sys/kernel/debug/tracing/set_ftrace_filter
echo virtqueue_kick >> /sys/kernel/debug/tracing/set_ftrace_filter
echo scsi_kick_queue >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_dev_match >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_config_changed >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_dev_remove >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_uevent >> /sys/kernel/debug/tracing/set_ftrace_filter
echo unregister_virtio_driver >> /sys/kernel/debug/tracing/set_ftrace_filter
echo register_virtio_device >> /sys/kernel/debug/tracing/set_ftrace_filter
echo unregister_virtio_device >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_init >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_check_driver_offered_feature >>
/sys/kernel/debug/tracing/set_ftrace_filter
echo register_virtio_driver >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_finalize_features >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_config_enable >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_dev_probe >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_device_restore >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_device_freeze >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_break_device >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_mmio_remove >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_mmio_probe >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_pci_modern_probe >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_pci_modern_remove >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_pci_release_dev >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_pci_restore >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_pci_freeze >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_pci_remove >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_pci_probe >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_pci_legacy_probe >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_pci_legacy_remove >> /sys/kernel/debug/tracing/set_ftrace_filter
echo virtio_queue_rq >> /sys/kernel/debug/tracing/set_ftrace_filter

However the traces don't show a virt related event.

I launch QEMU using:

qemu-system-x86_64 -drive
file=/home/gnayan/CUSTOM_QEMU_SYSTEM/UBUNTU/ubuntu.img,if=virtio,format=raw
-m 1G -net nic,model=virtio -net user -redir tcp:::22 -enable-kvm
&

Please suggest

Thanks