All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Frederic Weisbecker <fweisbec@gmail.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Chris Metcalf <cmetcalf@tilera.com>,
	Christoph Lameter <cl@linux.com>,
	Geoff Levand <geoff@infradead.org>,
	Gilad Ben Yossef <gilad@benyossef.com>,
	Hakan Akkan <hakanakkan@gmail.com>,
	Kevin Hilman <khilman@linaro.org>,
	Li Zhong <zhong@linux.vnet.ibm.com>,
	Namhyung Kim <namhyung.kim@lge.com>,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	Paul Gortmaker <paul.gortmaker@windriver.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH 4/4] nohz: New option to force all CPUs in full dynticks range
Date: Sat, 30 Mar 2013 10:10:37 +0100	[thread overview]
Message-ID: <20130330091037.GA31743@gmail.com> (raw)
In-Reply-To: <CAFTL4hzQfodVP4O+nir1XwQ2QkUUqrfr_dBpWL0635f0u4oRBA@mail.gmail.com>


* Frederic Weisbecker <fweisbec@gmail.com> wrote:

> 2013/3/28 Ingo Molnar <mingo@kernel.org>:
> >
> > * Frederic Weisbecker <fweisbec@gmail.com> wrote:
> >
> >> +config NO_HZ_EXTENDED_ALL
> >> +       bool "Full dynticks system on all CPUs"
> >> +       depends on NO_HZ_EXTENDED
> >> +       help
> >> +      Force all CPUs to be full dynticks. The range specified in the
> >> +      nohz_extended boot option will then be ignored.
> >> +
> >> +      Note the boot CPU will still be kept outside the range to handle
> >> +      the timekeeping duty.
> >
> > In most cases this will be the first time users doing 'make oldconfig'
> > will hear about this feature, so I'd not mention noh_extended in such a
> > primary way at all.
> >
> > Instead I'd suggest to explain, in a few simple sentences, what 'full
> > dynticks' _is_. Then maybe mention this near the end of the next:
> >
> >    ( Alternatively this feature can also be enabled via the
> >      nohz_extended=<cpulist> boot option. If this kernel config option is
> >      enabled then the nohz_extended boot parameter is ignored. )
> 
> Ok. Hmm, concerning what full dynticks is, those who run make oldconfig 
> should have passed through CONFIG_NO_HZ_EXTENDED help first so they 
> should know what this is all about, right? I can improve its help text 
> if you think something need more details. Or you think I should add some 
> more reminder in the new config? Also nohz_extended is not mentioned 
> there so I indeed need to fix that. And then do a reminder in the new 
> config. I'll reuse a bit your above sentence.

Kconfig option + boot parameter, or kconfig option + kconfig option, just 
to get a feature to activate, is usability madness.

I think we need _one_ config knob to configure, which, if selected, 
activates all of this feature. Preferably this would be similar to the 
preempt options, like CONFIG_PREEMPT is the most advanced preemption 
model:

          ( ) No Forced Preemption (Server)
          (X) Voluntary Kernel Preemption (Desktop)
          ( ) Preemptible Kernel (Low-Latency Desktop)

NO_HZ_EXTENDED or NO_HZ_FULL could be a third variant to:

          ( ) Periodic Timer Ticks
          (X) Tickless Idle (Dynamic Ticks)
          ( ) Full Tickless (Extended Dynamic Ticks)

or so - instead of this somewhat confusing hierarchy of config and boot 
options. Good help text would explain the differences between then.

Internally, the 'Tickless Idle' option would cause NO_HZ to be set, while 
'Full Tickless' would also set NO_HZ, but would also set NO_HZ_EXTENDED.

Furthermore, right now it's hard to enable NO_HZ_EXTENDED, because it 
depends on so many other options. The option is just hidden unless the 
user knows about it and enables 5 other kernel options. Instead the tick 
mode selected should enable (select) any required features - it should 
drive things, not the other way around.

(After all that is done, the boot option is something that augments this 
existing, kconfig driven mechanism.)

Thanks,

	Ingo

  reply	other threads:[~2013-03-30  9:10 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-27 15:32 [PATCH 0/4] nohz: Full dynticks fixes/improvements Frederic Weisbecker
2013-03-27 15:32 ` [PATCH 1/4] nohz: Force boot CPU outside full dynticks range Frederic Weisbecker
2013-03-28  7:38   ` Ingo Molnar
2013-03-28 13:08     ` Frederic Weisbecker
2013-03-27 15:32 ` [PATCH 2/4] nohz: Print final full dynticks CPUs range on boot Frederic Weisbecker
2013-03-28  7:40   ` Ingo Molnar
2013-03-28 13:12     ` Frederic Weisbecker
2013-03-29  0:25     ` Paul Gortmaker
2013-03-29  0:39       ` Frederic Weisbecker
2013-03-29  2:00         ` Paul E. McKenney
2013-03-29  2:08           ` Paul Gortmaker
2013-03-29  3:51             ` Paul E. McKenney
2013-03-29  2:02         ` Paul Gortmaker
2013-03-27 15:32 ` [PATCH 3/4] nohz: Ensure full dynticks CPUs are RCU nocbs Frederic Weisbecker
2013-03-27 15:32 ` [PATCH 4/4] nohz: New option to force all CPUs in full dynticks range Frederic Weisbecker
2013-03-28  7:45   ` Ingo Molnar
2013-03-28 13:43     ` Frederic Weisbecker
2013-03-30  9:10       ` Ingo Molnar [this message]
2013-04-02 13:09         ` Frederic Weisbecker
2013-04-08 14:57         ` Christoph Lameter
2013-04-09 13:22           ` Paul Gortmaker
2013-04-09 14:35             ` Christoph Lameter
2013-04-11 15:19           ` Frederic Weisbecker
2013-04-11 15:37             ` Paul E. McKenney
2013-04-11 15:53               ` Frederic Weisbecker
2013-04-11 16:10                 ` Paul E. McKenney
2013-04-11 16:41                 ` Christoph Lameter
2013-04-11 17:04                   ` Frederic Weisbecker
2013-04-11 17:11                     ` Paul E. McKenney
2013-04-11 17:28                       ` Frederic Weisbecker
2013-04-11 19:17                         ` Paul E. McKenney
2013-04-12 15:59                     ` Christoph Lameter
2013-04-15 10:27                       ` Ingo Molnar
2013-04-15 16:11                         ` Christoph Lameter

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=20130330091037.GA31743@gmail.com \
    --to=mingo@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=cl@linux.com \
    --cc=cmetcalf@tilera.com \
    --cc=fweisbec@gmail.com \
    --cc=geoff@infradead.org \
    --cc=gilad@benyossef.com \
    --cc=hakanakkan@gmail.com \
    --cc=khilman@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=namhyung.kim@lge.com \
    --cc=paul.gortmaker@windriver.com \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --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.