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(a)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 :|