Re: [RFC] New Time of day proposal (updated 9/2/04)

From: George Anzinger
Date: Tue Sep 07 2004 - 13:42:32 EST


Christoph Lameter wrote:
On Sat, 4 Sep 2004, Andi Kleen wrote:


On Fri, Sep 03, 2004 at 01:11:58PM -0700, john stultz wrote:

The timeofday_hook (should be timeofday_interrupt_hook, my bad) is
called by the semi-periodic-irregular-interval(also known as "timer")
interrupt. Its what does the housekeeping for all the timeofday code so
we don't run into a counter overflow.

monotonic_clock() is an accessor that returns the amount of time that
has been accumulated since boot in nanoseconds.

Ok, but you need different low level drivers for those. The TSC is not
stable enough as a long term time source, but it is best&fastest for
the offset calculation between timer interrupts.


I thought the NTP daemon etc would even that out? ITC (TSC on IA64) is
used by default on IA64 for all time keeping purposes. The CPU has on chip
support for timer interrupt generation.

Yes, and it is designed (read the "rock" is carefully choosen) for time keeping. On the x86 the "rock" drives the pm timer and the PIT, but a somewhat less stable "rock" drives the TSC.

Also, we don't "know" what rate the TSC is actully clocking so we must "discover" it at boot time. This process either is inaccurate or slow (I think we use ~ 50 ms these days which gives an error of ~10 TSC cycles on a 800MHZ box). FWIW the problem here is the sync up with the I/O backplane to find the start and ending of the measured time.

I suspect that the IA64 "tells" you what its clock rate is. Right?


--
George Anzinger george@xxxxxxxxxx
High-res-timers: http://sourceforge.net/projects/high-res-timers/
Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml

-
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/