mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Josh Triplett <josh@joshtriplett.org>
To: Christoph Lameter <cl@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, Anton Blanchard <anton@samba.org>,
	Tim Pepper <lnxninja@linux.vnet.ibm.com>,
	Paul McKenney <paulmck@linux.vnet.ibm.com>,
	John Stultz <johnstul@us.ibm.com>,
	Jamey Sharp <jamey@minilop.net>
Subject: Re: [RFC PATCH] Turn off the tick even when not idle
Date: Tue, 1 Sep 2009 11:08:26 -0700	[thread overview]
Message-ID: <20090901180825.GA3621@josh-work.beaverton.ibm.com> (raw)
In-Reply-To: <alpine.DEB.1.10.0909011554590.12112@V090114053VZO-1>

On Tue, Sep 01, 2009 at 03:56:56PM -0400, Christoph Lameter wrote:
> On Tue, 1 Sep 2009, Josh Triplett wrote:
> 
> > Please, give this patch a try and let me know what you think.
> 
> Looks quite good. The PNG shows more deterministic run time behavior.

Thanks; exactly what I hoped to demonstrate.  Actually making the timer
interrupt go away will require finding a more appropriate place to run
all the code that otherwise polls periodically, but this patch lets us
cheat and see the result before that happens. :)

> > I'd like to work towards a patch which really can kill off the timer
> > tick, making the kernel entirely event-driven and removing the polling
> > that occurs in the timer tick.  I've reviewed everything the timer tick
> > does, and every last bit of it could occur using an event-driven
> > approach.
> 
> Good idea. Thought so for a long time. Thanks for working on it. Many of
> the events can be deferred if nothing is happening in the system.
> vm statistics, data expiration from caches etc. Not sure what to do about
> the per cpu threads generated by various kernel subsystems though.

I ran the benchmark at realtime priority, and affinitized to a single
CPU.  I used ftrace to confirm that after the initial program setup
(shared library loads, memory allocation, etc), no code runs in the
kernel during the number-crunching; this makes sense, since I ran at
higher priority than all the random affinitized kernel threads, and I
pushed everything else (tasks and interrupts) onto another CPU.

Long-term I'd like to solve the problem of those kernel threads, but
realtime priority can mitigate those.  The new interrupt threading bits
may help with other interrupts and avoid the need to set interrupt
affinity.  The timer interrupt, though, represents the one and only
thing I can't mitigate, hence why I'd like to make it go away.

- Josh Triplett

  parent reply	other threads:[~2009-09-01 18:08 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-01 15:43 Josh Triplett
2009-09-01 19:56 ` Christoph Lameter
2009-09-01 16:46   ` jim owens
2009-09-01 18:08   ` Josh Triplett [this message]
2009-09-01 22:35     ` Christoph Lameter
2009-09-01 20:26       ` Josh Triplett
2009-09-02 20:01 ` Pavel Machek
2009-09-02 21:30   ` Josh Triplett
2009-09-03  5:15 ` Anton Blanchard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090901180825.GA3621@josh-work.beaverton.ibm.com \
    --to=josh@joshtriplett.org \
    --cc=anton@samba.org \
    --cc=cl@linux-foundation.org \
    --cc=jamey@minilop.net \
    --cc=johnstul@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lnxninja@linux.vnet.ibm.com \
    --cc=paulmck@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®