Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c36c282b authored by Tony Luck's avatar Tony Luck
Browse files

Pull ia64-clocksource into release branch

parents f4fbfb0d 1f564ad6
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1154,6 +1154,8 @@ and is between 256 and 4096 characters. It is defined in the file

	nointroute	[IA-64]

	nojitter	[IA64] Disables jitter checking for ITC timers.

	nolapic		[IA-32,APIC] Do not enable or use the local APIC.

	nolapic_timer	[IA-32,APIC] Do not use the local APIC timer.
+0 −41
Original line number Diff line number Diff line
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. 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) may register time interpolators.
These are typically defined in the following way:

static struct time_interpolator my_interpolator {
	.frequency = MY_FREQUENCY,
	.source = TIME_SOURCE_MMIO32,
	.shift = 8,		/* scaling for higher accuracy */
	.drift = -1,		/* Unknown drift */
	.jitter = 0		/* time source is stable */
};

void time_init(void)
{
	....
	/* Initialization of the timer *.
	my_interpolator.address = &my_timer;
	register_time_interpolator(&my_interpolator);
	....
}

For more details see include/linux/timex.h and kernel/timer.c.

Christoph Lameter <christoph@lameter.com>, October 31, 2004
+5 −1
Original line number Diff line number Diff line
@@ -62,7 +62,11 @@ config GENERIC_CALIBRATE_DELAY
	bool
	default y

config TIME_INTERPOLATION
config GENERIC_TIME
	bool
	default y

config GENERIC_TIME_VSYSCALL
	bool
	default y

+1 −1
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ CONFIG_MMU=y
CONFIG_SWIOTLB=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_TIME_INTERPOLATION=y
CONFIG_GENERIC_TIME=y
CONFIG_EFI=y
CONFIG_GENERIC_IOMAP=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+1 −1
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ CONFIG_MMU=y
CONFIG_SWIOTLB=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_TIME_INTERPOLATION=y
CONFIG_GENERIC_TIME=y
CONFIG_EFI=y
CONFIG_GENERIC_IOMAP=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
Loading