Re: gradual timeofday overhaul
From: George Anzinger
Date: Wed Oct 20 2004 - 10:23:36 EST
Len Brown wrote:
On Tue, 2004-10-19 at 23:05, Tim Schmielau wrote:
I think we could do it in the following steps:
1. Sync up jiffies with the monotonic clock,...
2. Decouple jiffies from the actual interrupt counter...
3. Increase HZ all the way up to 1e9....
Before we do any of the above, I think we need to stop and ponder just what a
"jiffie" is. Currently it is, by default (or historically) the "basic tick" of
the system clock. On top of this a lot of interpolation code has been "grafted"
to allow the system to resolve time to finer levels, i.e. to the nanosecond.
But none of this interpolation code actually changes the tick, i.e. the
interrupt still happens at the same periodic rate.
As the "basic tick", it is used to do a lot of accounting and scheduling house
keeping AND as a driver of the system timers.
So, by this definition, it REQUIRES a system interrupt.
I have built a "tick less" system and have evidence from that that such systems
are over load prone. The faster the context switch rate, the more accounting
needs to be done. On the otherhand, the ticked system has flat accounting
overhead WRT load.
Regardless of what definitions we settle on, the system needs an interrupt
source to drive the system timers, and, as I indicate above, the accounting and
scheduling stuff. It is a MUST that these interrupts occure at the required
times or the system timers will be off. This is why we have a jiffies value
that is "rather odd" in the x86 today.
George
Thoughts?
Yes, for long periods of idle, I'd like to see the periodic clock tick
disabled entirely. Clock ticks causes the hardware to exit power-saving
idle states.
The current design with HZ=1000 gives us 1ms = 1000usec between clock
ticks. But some platforms take nearly that long just to enter/exit low
power states; which means that on Linux the hardware pays a long idle
state exit latency (performance hit) but gets little or no power savings
from the time it resides in that idle state.
thanks,
-Len
--
George Anzinger george@xxxxxxxxxx
High-res-timers: http://sourceforge.net/projects/high-res-timers/
-
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/