Messages in this thread | ![/](/images/icornerl.gif) | | Subject | [RFC][PATCH] linux-2.5.64_monotonic-clock_A1 | From | john stultz <> | Date | 11 Mar 2003 11:39:22 -0800 |
| |
All, Here is the next rev of my monotonic-clock patch. This version uses scaled math to avoid the costly 64 bit divide at interrupt time. Big thanks to George Anzinger for the suggestion.
This patch, written with the advice of Joel Becker, addresses a problem with the hangcheck-timer. The basic problem is that the hangcheck-timer code (Required for Oracle) needs a accurate hard clock which can be used to detect OS stalls (due to udelay() or pci bus hangs) that would cause system time to skew (its sort of a sanity check that insures the system's notion of time is accurate). However, currently they are using get_cycles() to fetch the cpu's TSC register, thus this does not work on systems w/o a synced TSC. As suggested by Andi Kleen (see thread here: http://www.uwsg.iu.edu/hypermail/linux/kernel/0302.0/1234.html ) I've worked with Joel and others to implement the monotonic_clock() interface.
This interface returns a unsigned long long representing the number of nanoseconds that has passed since time_init().
Future plans to the interface include properly handling cpu_freq changes and porting to the different arches.
Comments, suggestions and flames welcome.
thanks -john
[unhandled content-type:application/pgp-signature] | ![\](/images/icornerr.gif) |