20.15. Timekeeping
The guest virtual machine clock is typically initialized from the host physical machine clock. Most operating systems expect the hardware clock to be kept in UTC, which is the default setting. Note that for Windows guest virtual machines the guest virtual machine must be set in
localtime
.
... <clock offset='localtime'> <timer name='rtc' tickpolicy='catchup' track='guest'> <catchup threshold='123' slew='120' limit='10000'/> </timer> <timer name='pit' tickpolicy='delay'/> </clock> ...
Figure 20.21. Timekeeping
The components of this section of the domain XML are as follows:
State | Description |
---|---|
<clock> | The offset attribute takes four possible values, allowing for fine grained control over how the guest virtual machine clock is synchronized to the host physical machine. Note that hypervisors are not required to support all policies across all time sources
|
<timer> | See Note |
<frequency> | This is an unsigned integer specifying the frequency at which name ="tsc" runs. |
<mode> | The mode attribute controls how the name="tsc" <timer> is managed, and can be set to: auto , native , emulate , paravirt , or smpsafe . Other timers are always emulated. |
<present> | Specifies whether a particular timer is available to the guest virtual machine. Can be set to yes or no |
Note
Each
<timer>
element must contain a name
attribute, and may have the following attributes depending on the name specified.
<name>
- selects whichtimer
is being modified. The following values are acceptable:kvmclock
(QEMU-KVM),pit
(QEMU-KVM), orrtc
(QEMU-KVM), ortsc
(libxl only). Note thatplatform
is currently unsupported.- track - specifies the timer track. The following values are acceptable:
boot
,guest
, orwall
.track
is only valid forname="rtc"
. tickpolicy
- determines what happens whens the deadline for injecting a tick to the guest virtual machine is missed. The following values can be assigned:delay
-will continue to deliver ticks at the normal rate. The guest virtual machine time will be delayed due to the late tickcatchup
- delivers ticks at a higher rate in order to catch up with the missed tick. The guest virtual machine time is not displayed once catchup is complete. In addition, there can be three optional attributes, each a positive integer, as follows: threshold, slew, and limit.merge
- merges the missed tick(s) into one tick and injects them. The guest virtual machine time may be delayed, depending on how the merge is done.discard
- throws away the missed tick(s) and continues with future injection at its default interval setting. The guest virtual machine time may be delayed, unless there is an explicit statement for handling lost ticks