Bug 517278 - Add -no-kvm-pit-reinject in qemu cmdline for RHEL guests
Summary: Add -no-kvm-pit-reinject in qemu cmdline for RHEL guests
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: libvirt
Version: 5.4
Hardware: All
OS: Linux
Target Milestone: rc
: ---
Assignee: Daniel Berrangé
QA Contact: Virtualization Bugs
Depends On:
Blocks: 517903
TreeView+ depends on / blocked
Reported: 2009-08-13 11:07 UTC by Dor Laor
Modified: 2013-01-09 21:15 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2010-03-30 08:10:21 UTC
Target Upstream Version:

Attachments (Terms of Use)
Unconditionally add --no-kvm-pit-reinjection to all guests (1.56 KB, patch)
2009-08-13 13:54 UTC, Daniel Berrangé
no flags Details | Diff

System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2010:0205 0 normal SHIPPED_LIVE libvirt bug fix and enhancement update 2010-03-29 12:27:37 UTC

Description Dor Laor 2009-08-13 11:07:48 UTC
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


Comment 1 Daniel Berrangé 2009-08-13 11:26:53 UTC
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 ?

Comment 2 Dor Laor 2009-08-13 12:15:23 UTC
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.

Comment 3 Daniel Berrangé 2009-08-13 13:54:30 UTC
Created attachment 357323 [details]
Unconditionally add --no-kvm-pit-reinjection to all guests

This patch is compile tested only so far.

Comment 5 Daniel Veillard 2009-08-18 12:46:02 UTC
libvirt-0.6.3-21.el5 has been built in dist-5E-qu-candidate with the fix,


Comment 7 Gunannan Ren 2009-12-28 12:28:05 UTC
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 -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 -k en-us

Comment 12 errata-xmlrpc 2010-03-30 08:10:21 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.