Re: [RFC PATCH] Turn off the tick even when not idle

From: Josh Triplett
Date: Wed Sep 02 2009 - 17:30:28 EST


On Wed, Sep 02, 2009 at 10:01:26PM +0200, Pavel Machek wrote:
> Hi!
>
> > When a process does some number crunching for a while, without involving
> > the kernel, the kernel still interrupts it HZ times per second to figure
> > out if it has any work to do. With a system dedicated to doing such
> > number crunching, the answer will almost always come up "no"; however,
> > the kernel takes a while figuring out all the "no"s from various
> > subsystems, every timer tick. On my system, the timer tick takes about
> > 80us, every 1/HZ seconds; that represents a significant overhead. 80us
> > out of every 1ms, for instance, means 8% overhead. Furthermore, the
> > time taken varies, and the timer interrupts lead to jitter in the
> > performance of the number crunching.
>
> 8% overhead on hz=1000 is quite high --- what hw is that?

32-bit x86, ThinkPad T60p (work laptop). I've observed similar
latencies on x86-64, and others have observed them on 64-bit powerpc.

On top of that, almost all of that 80us consists of variations on "Do I
have any work to do? No? OK then.".

> You should be able to get similar results with HZ=1, right?

Possibly, yes. But I want good responsiveness when the system *does*
have work to do.

- Josh Triplett
--
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/