[RFC][PATCH] linux-2.5.66_monotonic-clock_A2

From: john stultz (johnstul@us.ibm.com)
Date: Tue Mar 25 2003 - 21:38:13 EST


All,
        Here is the next rev of my monotonic-clock patch. Adds fixes to
insure atomicity when reading the cyclone register, as well as minor
cleanups to the scaled math code. I plan on submitting this later this
week if no major complaints are raised.

        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. Some of the major considerations made when writing this patch
were:
o Needs to be able to return accurate time in the absence of
  multiple timer interrupts
o Needs to be abstracted out from the hardware
o Avoids impacting gettimeofday() performance

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





-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Mar 31 2003 - 22:00:22 EST