From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Josh Triplett <josh@joshtriplett.org>
Cc: linux-kernel@vger.kernel.org, mingo@elte.hu,
laijs@cn.fujitsu.com, dipankar@in.ibm.com,
akpm@linux-foundation.org, mathieu.desnoyers@efficios.com,
niv@us.ibm.com, tglx@linutronix.de, peterz@infradead.org,
rostedt@goodmis.org, Valdis.Kletnieks@vt.edu,
dhowells@redhat.com, eric.dumazet@gmail.com, darren@dvhart.com,
fweisbec@gmail.com, sbw@mit.edu, patches@linaro.org
Subject: Re: [PATCH tip/core/rcu] Make RCU_FAST_NO_HZ respect nohz= boot parameter
Date: Fri, 6 Jul 2012 05:52:06 -0700 [thread overview]
Message-ID: <20120706125206.GQ2522@linux.vnet.ibm.com> (raw)
In-Reply-To: <20120706034648.GA27047@leaf>
On Thu, Jul 05, 2012 at 08:46:48PM -0700, Josh Triplett wrote:
> On Thu, Jul 05, 2012 at 05:29:44PM -0700, Paul E. McKenney wrote:
> > On Thu, Jul 05, 2012 at 04:02:08PM -0700, Josh Triplett wrote:
> > > On Thu, Jul 05, 2012 at 03:37:31PM -0700, Paul E. McKenney wrote:
> > > > If the nohz= boot parameter disables nohz, then RCU_FAST_NO_HZ needs to
> > > > also disable itself. This commit therefore checks for tick_nohz_enabled
> > > > being zero, disabling rcu_prepare_for_idle() if so. This patch assumes
> > > > that tick_nohz_enabled can change at runtime: If this is not the case,
> > > > then a simpler approach suffices.
> > >
> > > Allowing nohz to change at runtime seems like an entirely unnecessary
> > > bit of added complexity. (So does having a boot parameter for it, but
> > > that one at least seems easier to handle.)
> >
> > I will let representatives from the various distros expound to you on
> > their one-binary-only strategy for kernel builds. ;-)
>
> I'm aware. However, the subset of people wanting to turn off nohz seems
> sufficiently small at this point that I'd *hope* distro kernels could
> just always have it turned on. :)
The people who want it turned on are of course those who care deeply
about latency from idle, which appears to be a not-unimportant group.
My best guess is that a strong desire to switch this at runtime will
come from cloud-computing people who need to support those who care
deeply about latency from idle, but who want to conserve energy when
running other workloads.
> In any case, as I said, the ability to change it at runtime seems like
> the primary bit of complexity; the ability to change it at boot time
> seems straightforward to handle.
I would need to at least have a warning, which ends up retaining most
of the code. Otherwise, my first notification of the change is "Hey,
we have this weird and difficult-to-reproduce slowdown (or even hang)."
Of course, this will be at a time when this section of code is the
absolute last thing on my mind...
> > > What would the patch look like if you can assume nohz will never change
> > > at runtime? And does anyone have a use case for changing nohz at
> > > runtime, rather than at boot time?
> >
> > It would be a little bit simpler, but would break in very odd and
> > difficult-to-debug ways if anyone ever did allow it to change at runtime,
> > for example, to accommodate systems subject to varying workloads.
>
> Granted, but it doesn't seem worth preemtively making RCU more
> complicated to accomodate a use case that nobody has said they have yet.
> :)
Speaking as the guy who repeatedly put off reducing RCU grace-period
initialization latency until someone actually complained about it,
despite my being quite certain from the get-go that someone was bound
to complain sooner or later, I can certainly appreciate and identify
with that sentiment.
But in the grace-period initialization latency case, the complexity
of the fix was large, and the problem-isolation procedure extremely
straightforward, courtesy of things like the latency tracer.
In constrast, in then case at hand, the incremental complexity is quite
small and the difficulty spotting the problem is likely to be quite large.
Hence my taking a different approach to these two situations.
Thanx, Paul
prev parent reply other threads:[~2012-07-06 12:53 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-05 22:37 [PATCH tip/core/rcu] Make RCU_FAST_NO_HZ respect nohz= boot parameter Paul E. McKenney
2012-07-05 23:02 ` Josh Triplett
2012-07-06 0:29 ` Paul E. McKenney
2012-07-06 3:46 ` Josh Triplett
2012-07-06 12:52 ` Paul E. McKenney [this message]
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=20120706125206.GQ2522@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=Valdis.Kletnieks@vt.edu \
--cc=akpm@linux-foundation.org \
--cc=darren@dvhart.com \
--cc=dhowells@redhat.com \
--cc=dipankar@in.ibm.com \
--cc=eric.dumazet@gmail.com \
--cc=fweisbec@gmail.com \
--cc=josh@joshtriplett.org \
--cc=laijs@cn.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mingo@elte.hu \
--cc=niv@us.ibm.com \
--cc=patches@linaro.org \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=sbw@mit.edu \
--cc=tglx@linutronix.de \
/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