Bug 517278 - Add -no-kvm-pit-reinject in qemu cmdline for RHEL guests
Add -no-kvm-pit-reinject in qemu cmdline for RHEL guests
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: libvirt (Show other bugs)
All Linux
low Severity medium
: rc
: ---
Assigned To: Daniel Berrange
Virtualization Bugs
: ZStream
Depends On:
Blocks: 517903
  Show dependency treegraph
Reported: 2009-08-13 07:07 EDT by Dor Laor
Modified: 2013-01-09 16:15 EST (History)
8 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2010-03-30 04:10:21 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

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

  None (edit)
Description Dor Laor 2009-08-13 07:07:48 EDT
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 Berrange 2009-08-13 07:26:53 EDT
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 08:15:23 EDT
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 Berrange 2009-08-13 09:54:30 EDT
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 08:46:02 EDT
libvirt-0.6.3-21.el5 has been built in dist-5E-qu-candidate with the fix,

Comment 7 Gunannan Ren 2009-12-28 07:28:05 EST
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 04:10:21 EDT
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.