On 03/13/2014 07:04 AM, Martin Kletzander wrote:
On Thu, Mar 13, 2014 at 02:49:13AM -0400, 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 ?
>
What an interesting question. At first I thought the meanings are the
same as in ntpd(1) and other time-synchonizing apps. But then I
looked into the code to see what we're passing to hypervisors and it
seems like since 2010, when this was added, these values were never
used.
[Cc-ing Laine as he is the author of commit 8bf6799b]
I can't be sure though. Laine, do you recall any usage of these
settings?
They were added after a lengthy discussion between myself, Daniel, and
Zach Amsden (who had knowledge of how VMWare deals with clocks) of the
requirements for XML to support configuration for all hypervisors' clock
models. Basically, all of the XML from the resulting design was
implemented, and connected to as many parts of QEMU as were available at
the time, with the assumption that as support fleshed out on the backend
of QEMU (and those supporting other hypervisors took the time to enhance
their drivers), more of the config would be hooked up to actual
functionality.
At this point it's been nearly 4 years, and as I came into that task as
an outsider to clock issues, I have no recollection of details beyond that.