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@xxxxxxxxx> 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 :| _______________________________________________ libvirt-users mailing list libvirt-users@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvirt-users