Re: [PATCH] improved boot time TSC synchronization

Jamie Lokier
2003-01-17T00:52:00Z

Jim Houston wrote:
> The patch currently prints the round-trip time and the max_delta.
> On a Quad P4 Xeon, I got round-trip times in the 0.7 microsecond
> range which is disappointing. The max_delta was almost always
> zero cycles meaning that the feedback loop thinks that the TSC values
> are perfectly synchronized.

Is it reasonable to repeat the test over a duration of 10^6 cycles (or
more) such that you could detect any drift after synchronisation, as
well as variation _during_ that time interval?

I'm thinking of those spread spectrum clocks, which I gather are done
by frequency modulating the clock. It may be possible to detect:

(a) whether multiple CPUs with spread spectrum clocks are
actually locked to each other, or if the modulation
of each is independent

(b) whether multiple CPUs are drifting w.r.t. each other
because of independent clock sources

Although drift tends to be small, it should be possible to determine
"these clocks drifted by <1ppm during the test interval", which is a
pretty good indication of whether it is safe to use the TSC for
gettimeofday() or not.

-- Jamie