Well, time_interpolator_get_counter() guarantees the monotonicity
of gettimeofday() system call. It's pointless when an application
reads ar.itc directly, isn't it?
But as Anthony said, difference of ITC cycles is quite small.
So I think there is no problem. It must be less than cycles of
process switch and much less than cycles of domU migration.
Xen uses the same algorithm as Linux to synchronize ITCs and it
is disabled for a guest OS to re-set the ITC. Thus, from an
application point of view, there is no diffrence between on xen
and on linux, I think.
FYI, time_interpolator_get_counter() is gone from Linux-2.6.23.
Alex Williamson writes:
> On Sat, 2008-02-02 at 09:43 +0800, Xu, Anthony wrote:
> > Kouya Shimura wrote:
> > > Hi,
> > >
> > > In a SMP machine, complete synchronizing ITCs is impossible.
> > Agree,
> > But the difference is limited in a small range,
> > So, when application is migrated to another CPU, it will see ITC > what
> > it saw last time.
> > That means, itc difference have to be less than the itc cycle spent on
> > process switch.
> > Otherwise, linux kernel needs to re sync the ITC.
> The kernel guarantees applications only see time move forward, even
> across multiple CPUs. See:
> We never return a time before last_cycle unless booted with the
> "nojitter" options.
> Alex Williamson HP Open Source & Linux Org.
Xen-ia64-devel mailing list