All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mats Liljegren <liljegren.mats2@gmail.com>
To: Christoph Lameter <cl@linux.com>
Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Rob Landley <rob@landley.net>,
	linux-kernel@vger.kernel.org, josh@joshtriplett.org,
	zhong@linux.vnet.ibm.com, khilman@linaro.org,
	geoff@infradead.org, tglx@linutronix.de
Subject: Re: [PATCH] nohz1: Documentation
Date: Fri, 22 Mar 2013 10:52:47 +0100	[thread overview]
Message-ID: <20130322095246.GG29378@enea.se> (raw)
In-Reply-To: <0000013d8e8d24fd-d2931c45-2722-46d1-8b47-2ef11e21096d-000000@email.amazonses.com>

Christoph Lameter wrote:
> On Thu, 21 Mar 2013, Paul E. McKenney wrote:
> 
> > > Yeah doing that right now but I'd like to see it handled without manual
> > > intervention.
> >
> > Given that RCU has no idea where you want them to run, some manual
> > intervention would most likely be required even if RCU spawned them
> > dynamically, right?
> 
> If rcuoXX is a SCHED_OTHER process/thread then the kernel will move it to
> another processor from the one running the SCHED_FIFO task. There would be
> no manual intervention required.
> 
> > So, again, removing scheduling-clock interrupts in more situations is
> > a good future enhancement.
> 
> The point here is that the check for a single runnable process is wrong
> because it accounts for tasks in all scheduling classes.
> 
> It would be better to check if there is only one runnable task in the
> highest scheduling class. That would work and defer the SCHED_OTHER kernel
> threads for the SCHED_FIFO thread.
> 
> I am wondering how you actually can get NOHZ to work right? There is
> always a kernel thread that is scheduled in a couple of ticks.

In my case I use 2 CPU PandaBoard where I use cpuset to create a
non-realtime domain for CPU0 and a real-time domain for CPU1. I then move
all kernel threads and IRQs to CPU0, leaving only the application specific
IRQ for CPU1. I then start a singe thread on CPU1.

I use a quite down-stripped version of Linux built using Yocto. I have run
the application for a minute and got 70-80 ticks, most (all?) occurring
during start and exit of the application. I use 100Hz ticks.

So personally I do get something by using full NOHZ in its current
incarnation. I'd like some better interrupt latency though, so disabling
 nohz-idle might be interesting for me. But that's another story...

-- Mats

  parent reply	other threads:[~2013-03-22  9:52 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-18 16:29 [PATCH] nohz1: Documentation Paul E. McKenney
2013-03-18 18:13 ` Rob Landley
2013-03-18 18:46   ` Frederic Weisbecker
2013-03-18 19:59     ` Rob Landley
2013-03-18 20:48       ` Frederic Weisbecker
2013-03-18 22:25         ` Paul E. McKenney
2013-03-20 23:32           ` Steven Rostedt
2013-03-20 23:55             ` Paul E. McKenney
2013-03-21  0:27               ` Steven Rostedt
2013-03-21  2:22                 ` Paul E. McKenney
2013-03-21 10:16                   ` Borislav Petkov
2013-03-21 15:18                     ` Paul E. McKenney
2013-03-21 16:00                       ` Borislav Petkov
2013-03-21 15:45                 ` Arjan van de Ven
2013-03-21 17:18                   ` Paul E. McKenney
2013-03-21 17:41                     ` Arjan van de Ven
2013-03-21 18:02                       ` Paul E. McKenney
2013-03-22 18:37                         ` Kevin Hilman
2013-03-22 19:25                           ` Paul E. McKenney
2013-03-22  4:59                   ` Rob Landley
2013-03-21 18:01                 ` Frederic Weisbecker
2013-03-21 18:26                   ` Paul E. McKenney
2013-03-21 16:08               ` Christoph Lameter
2013-03-21 17:15                 ` Paul E. McKenney
2013-03-21 18:39                   ` Christoph Lameter
2013-03-21 18:58                     ` Paul E. McKenney
2013-03-21 20:04                       ` Christoph Lameter
2013-03-21 20:42                         ` Frederic Weisbecker
2013-03-21 21:02                           ` Christoph Lameter
2013-03-21 21:06                             ` Frederic Weisbecker
2013-03-21 20:50                         ` Paul E. McKenney
2013-03-22 14:38                           ` Christoph Lameter
2013-03-22 16:28                             ` Paul E. McKenney
2013-03-25 14:31                               ` Christoph Lameter
2013-03-25 14:37                                 ` Frederic Weisbecker
2013-03-25 15:18                                   ` Christoph Lameter
2013-03-25 15:20                                     ` Frederic Weisbecker
2013-03-22  9:52                         ` Mats Liljegren [this message]
2013-03-22 19:01                       ` Kevin Hilman
2013-03-21 18:44                   ` Steven Rostedt
2013-03-21 18:53                     ` Christoph Lameter
2013-03-21 19:16                       ` Steven Rostedt
2013-03-21 18:59                     ` Paul E. McKenney

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=20130322095246.GG29378@enea.se \
    --to=liljegren.mats2@gmail.com \
    --cc=cl@linux.com \
    --cc=fweisbec@gmail.com \
    --cc=geoff@infradead.org \
    --cc=josh@joshtriplett.org \
    --cc=khilman@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=rob@landley.net \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=zhong@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.