Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.6.9-rc1-bk19 /Documentation/time_interpolators.txt

Filename:/Documentation/time_interpolators.txt
Lines Added:40
Lines Deleted:0
Also changed in: (Previous) 2.6.9-rc1-bk18  2.6.9-rc1-bk17  2.6.9-rc1-bk16 
(Following) 2.6.9-rc2  2.6.9-rc3  2.6.9-rc4  2.6.9-final  2.6.9  2.6.10-rc1-bk12 

Location
[  2.6.9-rc1-bk19
  [  Documentation
     o  time_interpolators.txt

Patch

diff -Nru a/Documentation/time_interpolators.txt b/Documentation/time_interpolators.txt
--- /dev/null   Wed Dec 31 16:00:00 196900
+++ b/Documentation/time_interpolators.txt   2004-09-07 23:32:53 -07:00
@@ -0,0 +1,40 @@
+Time Interpolators
+------------------
+
+Time interpolators are a base of time calculation between timer ticks and
+allow an accurate determination of time down to the accuracy of the time
+source in nanoseconds.
+
+The architecture specific code typically provides gettimeofday and
+settimeofday under Linux. The time interpolator provides both if an arch
+defines CONFIG_TIME_INTERPOLATION. The arch still must set up timer tick
+operations and call the necessary functions to advance the clock.
+With the time interpolator a standardized interface exists for time
+interpolation between ticks which also allows the determination
+of time in a hardware independent way. The provided logic is highly scalable
+and has been tested in SMP situations of up to 512 CPUs.
+
+If CONFIG_TIME_INTERPOLATION is defined then the architecture specific code
+(or the device drivers - like HPET) must register time interpolators.
+These are typically defined in the following way:
+
+static struct time_interpolator my_interpolator;
+
+void time_init(void)
+{
+   ....
+   /* Initialization of the timer *.
+   my_interpolator.frequency = MY_FREQUENCY;
+   my_interpolator.source = TIME_SOURCE_MMIO32;
+   my_interpolator.address = &my_timer;
+   my_interpolator.shift = 32;      /* increase accuracy of scaling */
+   my_interpolator.drift = -1;      /* Unknown */
+   my_interpolator.jitter = 0;      /* A stable time source */
+   register_time_interpolator(&my_interpolator);
+   ....
+}
+
+For more details see include/linux/timex.h.
+
+Christoph Lameter <christoph@lameter.com>, September 8, 2004
+


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.