Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1053846

Summary: Recommended default clock/timer settings
Product: [Retired] oVirt Reporter: Cole Robinson <crobinso>
Component: vdsmAssignee: Francesco Romani <fromani>
Status: CLOSED CURRENTRELEASE QA Contact: Lukas Svaty <lsvaty>
Severity: medium Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: bazulay, crobinso, fromani, gklein, iheim, lsvaty, mgoldboi, michal.skrivanek, mtosatti, rbalakri, rhod, s.kieske, vrozenfe, yeylon
Target Milestone: ---Keywords: Triaged
Target Release: 3.5.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: virt
Fixed In Version: ovirt-3.5.0-beta2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-10-17 12:23:29 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Virt RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Cole Robinson 2014-01-15 20:08:39 UTC
Recently there was an internal discussion with several qemu developers about default VM clock/timer configuration. What they recommended maps to this libvirt XML:

  <clock ...>
    <timer name="rtc" tickpolicy="catchup"/>
    <timer name="pit" tickpolicy="delay"/>
    <timer name="hpet" present="no"/>
  </clock>

This maps to the qemu command line options:

  -rtc driftfix=slew -no-hpet -no-kvm-pit-reinjection

Explicitly this was recommended for all guest OS. Some bits don't affect certain OS, but in those cases they are harmless.

vdsm is currently only using:

  <timer name="rtc" tickpolicy="catchup">

So it's missing two of those recommended bits.

Comment 1 Dan Kenigsberg 2014-01-15 22:23:55 UTC
Cole, thanks for this call from the past. Vdsm used to pass -no-kvm-pit-reinjection for Linux guests but this was not carried over properly when I re-implemented it to use libvirt as a middleman. We also enabled a hackish time-drift-fix. IIRC, there where commonly not enough hpets on a host for all VMs, so hpet was not really useful anyway.

Do you have a more lucid reference on why this is the favorable combination? Ronen, maybe you can assist?

BTW, Engine still has

        if (OsRepositoryImpl.INSTANCE.isLinux(vm.getVmOsId())) {
            createInfo.put(VdsProperties.PitReinjection, "false");
        }

which should be dropped if nowadays -no-kvm-pit-reinjection is best for all guests.

Comment 8 Francesco Romani 2014-01-27 11:55:05 UTC
patch to VDSM is being discussed here: http://gerrit.ovirt.org/#/c/23663/

Comment 9 Lukas Svaty 2014-07-31 12:58:12 UTC
Can you provide any testing information for this?

Comment 10 Francesco Romani 2014-07-31 13:20:33 UTC
This is an internal change, the guest OS should'nt notice anything except increased stability during the normal operation.

I guess the best, maybe only, way to test this is to look at the domain XML
of the VMs.

Comment 11 Lukas Svaty 2014-08-04 07:44:16 UTC
verified for vm created in ovirt-3.5.0-beta2

Comment 12 Sandro Bonazzola 2014-10-17 12:23:29 UTC
oVirt 3.5 has been released and should include the fix for this issue.