Hello all,

I am running QEMU with KVM using the below command line -

*sudo ./qemu-system-x86_64 -m 1024 -machine pc-i440fx-3.0 *
*-cpu qemu64,-kvmclock -accel kvm -netdev
tap,id=tap1,ifname=tap0,script=no,downscript=no *
*-device virtio-net-pci,netdev=tap1,mac=00:00:00:00:00:00 *
*-drive file=ubuntu-16.04.server.qcow2,format=qcow2,if=none,id=img-direct
-device virtio-blk-pci,drive=img-direct*


I can see that the current_clocksource used by the VM that is spawned
is reported as "tsc".




*/sys/devices/system/clocksource/clocksource0$ cat current_clocksourcetsc *

I collect a trace of the guest execution using IntelPT after running
the below command -




*sudo ./perf kvm --guest --guestkallsyms=guest-kallsyms
--guestmodules=guest-modules record -e intel_pt// -m ,65536*

The IntelPT trace reveals that the function "read_hpet" gets called
continuously
while I expected the function "read_tsc" to be called.

Does KVM change the clocksource in any way? I expect the clocksource
to be set at boot time,
how and why did the clocksource change later? Does KVM not support the
tsc clocksource ?

Note:

I am using QEMU version 3.0. The guest runs a 4.4.0-116-generic linux kernel.
Both my qemu host as well as the target architecture is x86_64. The
host machine is
also using "tsc" clocksource.

Best Regards,
Arnab

Reply via email to