Description of problem:
RHEL guests that use the pit (the default) source clock try to compensate for lost ticks by reading the tsc too. Since the regular action for kvm is to re-inject pit irqs that fail to be injected on time, it causes the guest clock to go out of sync.
The solution is to add -no-kvm-pit-reinject
More details and additional guest kernel cmd line parameters are on
Per-guest configuration is not practical at this point in time of the RHEL-5.4 schedule
What is the impact of enabling this option for all guest OS ?
It is possible to enable it for all guests but it might have negative effect on some guests. Windows with standard HAL (not the default) will lose time.
This is why I like it to be configurable, although if it is plain yes or no, we need it on.
So bottom line, please add this flag unconditionally for any VM.
Created attachment 357323 [details]
Unconditionally add --no-kvm-pit-reinjection to all guests
This patch is compile tested only so far.
libvirt-0.6.3-21.el5 has been built in dist-5E-qu-candidate with the fix,
I test the bug on libvirt-0.6.3-22.el5, as libvirt-0.6.3-21.el5 not available on brewweb now, the bug has been fixed in libvirt-0.6.3-22.el5.
The guest installed is rhel5u4 release version, the output of "ps -ef|grep kvm" is:
root 4965 1 8 20:21 ? 00:00:03 /usr/libexec/qemu-kvm -S -M pc -m 1024 -smp 1 -name rhel5u4kvm -uuid b7e3baca-b9bb-4677-d71a-59f4bcbb6028 -monitor pty -pidfile /var/run/libvirt/qemu//rhel5u4kvm.pid -no-reboot -boot c -kernel /var/lib/libvirt/boot/virtinst-vmlinuz.y4lCrk -initrd /var/lib/libvirt/boot/virtinst-initrd.img.o8G656 -append method=http://download.englab.nay.redhat.com/pub/rhel/released/RHEL-5-Server/U4/x86_64/os/ -drive file=/var/lib/libvirt/images/rhel5u4kvm-1.img,if=ide,index=0,boot=on,cache=none -net nic,macaddr=54:52:00:67:04:87,vlan=0 -net tap,fd=17,script=,vlan=0,ifname=vnet0 -serial pty -parallel none -usb -vnc 127.0.0.1:0 -k en-us
the ouput of "ps -ef|grep kvm" is:
root 5117 1 22 20:25 ? 00:00:02 /usr/libexec/qemu-kvm -S -M pc -m 1024 -smp 1 -name rhel5u4kvm -uuid 1513ae64-7c76-2bf2-2b82-6ff2f03958df -no-kvm-pit-reinjection -monitor pty -pidfile /var/run/libvirt/qemu//rhel5u4kvm.pid -no-reboot -boot c -kernel /var/lib/libvirt/boot/virtinst-vmlinuz._IwaR4 -initrd /var/lib/libvirt/boot/virtinst-initrd.img.X5-iBO -append method=http://download.englab.nay.redhat.com/pub/rhel/released/RHEL-5-Server/U4/x86_64/os/ -drive file=/var/lib/libvirt/images/rhel5u4kvm-2.img,if=ide,index=0,boot=on,cache=none -net nic,macaddr=54:52:00:77:c7:ac,vlan=0 -net tap,fd=17,script=,vlan=0,ifname=vnet0 -serial pty -parallel none -usb -vnc 127.0.0.1:0 -k en-us
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.