All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: linux-kernel@vger.kernel.org
Cc: mingo@elte.hu, laijs@cn.fujitsu.com, dipankar@in.ibm.com,
	akpm@linux-foundation.org, mathieu.desnoyers@polymtl.ca,
	josh@joshtriplett.org, niv@us.ibm.com, tglx@linutronix.de,
	peterz@infradead.org, rostedt@goodmis.org, dhowells@redhat.com,
	edumazet@google.com, darren@dvhart.com, fweisbec@gmail.com,
	sbw@mit.edu, "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Subject: [PATCH RFC nohz_full v2 1/7] nohz_full: Add Kconfig parameter for scalable detection of all-idle state
Date: Fri, 28 Jun 2013 13:10:16 -0700	[thread overview]
Message-ID: <1372450222-19420-1-git-send-email-paulmck@linux.vnet.ibm.com> (raw)
In-Reply-To: <20130628200949.GA17458@linux.vnet.ibm.com>

From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>

At least one CPU must keep the scheduling-clock tick running for
timekeeping purposes whenever there is a non-idle CPU.  However, with
the new nohz_full adaptive-idle machinery, it is difficult to distinguish
between all CPUs really being idle as opposed to all non-idle CPUs being
in adaptive-ticks mode.  This commit therefore adds a Kconfig parameter
as a first step towards enabling a scalable detection of full-system
idle state.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
---
 kernel/time/Kconfig | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig
index 70f27e8..a613c2a 100644
--- a/kernel/time/Kconfig
+++ b/kernel/time/Kconfig
@@ -134,6 +134,29 @@ config NO_HZ_FULL_ALL
 	 Note the boot CPU will still be kept outside the range to
 	 handle the timekeeping duty.
 
+config NO_HZ_FULL_SYSIDLE
+	bool "Detect full-system idle state for full dynticks system"
+	depends on NO_HZ_FULL
+	default n
+	help
+	 At least one CPU must keep the scheduling-clock tick running
+	 for timekeeping purposes whenever there is a non-idle CPU,
+	 where "non-idle" includes CPUs with a single runnable task
+	 in adaptive-idle mode.  Because the underlying adaptive-tick
+	 support cannot distinguish between all CPUs being idle and
+	 all CPUs each running a single task in adaptive-idle mode,
+	 the underlying support simply ensures that there is always
+	 a CPU handling the scheduling-clock tick, whether or not all
+	 CPUs are idle.  This Kconfig option enables scalable detection
+	 of the all-CPUs-idle state, thus allowing the scheduling-clock
+	 tick to be disabled when all CPUs are idle.  Note that scalable
+	 detection of the all-CPUs-idle state means that larger systems
+	 will be slower to declare the all-CPUs-idle state.
+
+	 Say Y if you would like to help debug all-CPUs-idle detection.
+
+	 Say N if you are unsure.
+
 config NO_HZ
 	bool "Old Idle dynticks config"
 	depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS
-- 
1.8.1.5


  reply	other threads:[~2013-06-28 20:11 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-28 20:09 [PATCH RFC nohz_full 0/7] v2 Provide infrastructure for full-system idle Paul E. McKenney
2013-06-28 20:10 ` Paul E. McKenney [this message]
2013-06-28 20:10   ` [PATCH RFC nohz_full v2 2/7] nohz_full: Add rcu_dyntick data for scalable detection of all-idle state Paul E. McKenney
2013-07-01 15:31     ` Josh Triplett
2013-07-01 15:52       ` Paul E. McKenney
2013-07-01 18:16         ` Josh Triplett
2013-07-01 18:23           ` Paul E. McKenney
2013-07-01 18:34             ` Josh Triplett
2013-07-01 19:16               ` Paul E. McKenney
2013-07-02  5:10                 ` Mike Galbraith
2013-07-02  5:58                   ` Paul E. McKenney
2013-06-28 20:10   ` [PATCH RFC nohz_full v2 3/7] nohz_full: Add per-CPU idle-state tracking Paul E. McKenney
2013-07-01 15:33     ` Josh Triplett
2013-06-28 20:10   ` [PATCH RFC nohz_full v2 4/7] nohz_full: Add full-system idle states and variables Paul E. McKenney
2013-06-28 20:10   ` [PATCH RFC nohz_full v2 5/7] nohz_full: Add full-system-idle arguments to API Paul E. McKenney
2013-06-28 20:10   ` [PATCH RFC nohz_full v2 6/7] nohz_full: Add full-system-idle state machine Paul E. McKenney
2013-07-01 16:35     ` Frederic Weisbecker
2013-07-01 18:10       ` Paul E. McKenney
2013-07-01 20:55         ` Frederic Weisbecker
2013-07-01 16:53     ` Frederic Weisbecker
2013-07-01 18:17       ` Paul E. McKenney
2013-07-01 21:38     ` Frederic Weisbecker
2013-07-01 22:51       ` Paul E. McKenney
2013-06-28 20:10   ` [PATCH RFC nohz_full v2 7/7] nohz_full: Force RCU's grace-period kthreads onto timekeeping CPU Paul E. McKenney
2013-07-01 15:19 ` [PATCH RFC nohz_full 0/7] v2 Provide infrastructure for full-system idle Andi Kleen
2013-07-01 16:03   ` Paul E. McKenney
2013-07-01 16:19     ` Andi Kleen
2013-07-01 19:19       ` Paul E. McKenney
2013-07-01 19:43 ` Christoph Lameter
2013-07-01 19:56   ` Paul E. McKenney
2013-07-01 20:24     ` Christoph Lameter
2013-07-01 20:43       ` Thomas Gleixner

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=1372450222-19420-1-git-send-email-paulmck@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=darren@dvhart.com \
    --cc=dhowells@redhat.com \
    --cc=dipankar@in.ibm.com \
    --cc=edumazet@google.com \
    --cc=fweisbec@gmail.com \
    --cc=josh@joshtriplett.org \
    --cc=laijs@cn.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@polymtl.ca \
    --cc=mingo@elte.hu \
    --cc=niv@us.ibm.com \
    --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 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.