[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090902213000.GA7137@josh-work.beaverton.ibm.com>
Date: Wed, 2 Sep 2009 14:30:43 -0700
From: Josh Triplett <josh@...htriplett.org>
To: Pavel Machek <pavel@....cz>
Cc: linux-kernel@...r.kernel.org, Anton Blanchard <anton@...ba.org>,
Tim Pepper <lnxninja@...ux.vnet.ibm.com>,
Paul McKenney <paulmck@...ux.vnet.ibm.com>,
John Stultz <johnstul@...ibm.com>,
Christoph Lameter <cl@...ux-foundation.org>,
Jamey Sharp <jamey@...ilop.net>
Subject: Re: [RFC PATCH] Turn off the tick even when not idle
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists