Re: [RFC - 0/9] Generic timekeeping subsystem (v. B5)
From: George Anzinger
Date: Tue Aug 23 2005 - 19:30:32 EST
Roman Zippel wrote:
Hi,
On Tue, 23 Aug 2005, john stultz wrote:
I'm assuming gettimeofday()/clock_gettime() looks something like:
xtime + (get_cycles()-last_update)*(mult+ntp_adj)>>shift
Where did you get the ntp_adj from? It's not in my example.
gettimeofday() was in the previous mail: "xtime + (cycle_offset * mult +
error) >> shift". The difference between system time and reference
time is really important. gettimeofday() returns the system time, NTP
controls the reference time and these two are synchronized regularly.
I didn't see that anywhere in your example.
John,
If I read your example right, the problem is when the NTP adjustment
changes while the two clocks are out of sync (because of a late tick).
It would appear that gettimeofday would need to know that the NTP
adjustment is changing (and to what). It would also appear that this
is known by the ntp code and could be made available to gettimeofday.
If it is changing due to an NTP call, that system call, itself,
should/must force synchronization. So the only case gettimeofday needs
to worry/know about is that an adjustment is to change at time X to
value Y. Also, me thinks there is only one such change that can be
present at any given time.
Hope this helps...
--
George Anzinger george@xxxxxxxxxx
HRT (High-res-timers): http://sourceforge.net/projects/high-res-timers/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/