[libvirt-users] questions on clock catchup
Daniel P. Berrange
berrange at redhat.com
Thu Mar 13 11:35:46 UTC 2014
On Thu, Mar 13, 2014 at 05:26:05AM -0600, Eric Blake wrote:
> On 03/13/2014 12:49 AM, Jincheng Miao wrote:
> > In http://libvirt.org/formatdomain.html#elementsTime , we could find there are
> > three attributes of catchup tickpolicy: limit, threshold and slew.
> >
> > "
> > The catchup element has three optional attributes, each a positive integer.
> > The attributes are threshold, slew, and limit.
> > "
> > The xml format likes:
> > <clock offset='utc'>
> > <timer name='rtc' tickpolicy='catchup'>
> > <catchup slew='123'/> or <catchup threshold='123'/> or <catchup limit='123'/>
> > </timer>
> > </clock>
> >
> > But there is no further explanation.
> > Does anyone know what's the meaning of these attributes ?
>
> We ought to copy the documentation that qemu just added:
>
> # Policy for handling lost ticks in timer devices.
> #
> # @discard: throw away the missed tick(s) and continue with future injection
> # normally. Guest time may be delayed, unless the OS has explicit
> # handling of lost ticks
> #
> # @delay: continue to deliver ticks at the normal rate. Guest time will be
> # delayed due to the late tick
> #
> # @merge: merge the missed tick(s) into one tick and inject. Guest time
> # may be delayed, depending on how the OS reacts to the merging
> # of ticks
> #
> # @slew: deliver ticks at a higher rate to catch up with the missed
> tick. The
> # guest time should not be delayed once catchup is complete.
We've got docs about the various policies already, in that link above.
What's missing is explanation of thee <catchup> sub-element attributes.
These were added in
commit 4ee2b31804f4d3477ee83bac28d9991afb0c3393
Author: Laine Stump <laine at laine.org>
Date: Wed Mar 31 13:03:54 2010 -0400
Changes to clock timer XML to match final design.
The clock timer XML is being updated in the following ways (based on
further off-list discussion that was missed during the initial
implementation):
1) 'wallclock' is changed to 'track', and the possible values are 'boot'
(corresponds to old 'host'), 'guest', and 'wall'.
2) 'mode' has an additional value 'smpsafe'
3) when tickpolicy='catchup', there can be an optional sub-element of
timer called 'catchup':
<catchup threshold=123 slew=120 limit=10000/>
Those three values are all longs, always optional, and if they are present,
they are positive. Internally, 0 indicates "unspecified".
Even more strangely AFAICT, nothing in any libvirt driver ever uses
the threshold/slew/limit values, so I'm wondering why we added them
to the XML....
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvirt-users
mailing list