aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/time/Kconfig
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2013-06-21 14:08:45 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2013-08-18 21:07:02 -0400
commitb44379af1cf40050794832c38ea6a64e07eb5087 (patch)
tree2f7fb3764976a4a0e2d2cf7a7f814564361203a4 /kernel/time/Kconfig
parent8bdf7a252b6398dbd4beaa7a2ba0904cea0abd04 (diff)
nohz_full: Add Kconfig parameter for scalable detection of all-idle state
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> [ paulmck: Update help text per Frederic Weisbecker. ] Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Diffstat (limited to 'kernel/time/Kconfig')
-rw-r--r--kernel/time/Kconfig23
1 files changed, 23 insertions, 0 deletions
diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig
index 70f27e89012b..c7d2fd67799e 100644
--- a/kernel/time/Kconfig
+++ b/kernel/time/Kconfig
@@ -134,6 +134,29 @@ config NO_HZ_FULL_ALL
134 Note the boot CPU will still be kept outside the range to 134 Note the boot CPU will still be kept outside the range to
135 handle the timekeeping duty. 135 handle the timekeeping duty.
136 136
137config NO_HZ_FULL_SYSIDLE
138 bool "Detect full-system idle state for full dynticks system"
139 depends on NO_HZ_FULL
140 default n
141 help
142 At least one CPU must keep the scheduling-clock tick running for
143 timekeeping purposes whenever there is a non-idle CPU, where
144 "non-idle" also includes dynticks CPUs as long as they are
145 running non-idle tasks. Because the underlying adaptive-tick
146 support cannot distinguish between all CPUs being idle and
147 all CPUs each running a single task in dynticks mode, the
148 underlying support simply ensures that there is always a CPU
149 handling the scheduling-clock tick, whether or not all CPUs
150 are idle. This Kconfig option enables scalable detection of
151 the all-CPUs-idle state, thus allowing the scheduling-clock
152 tick to be disabled when all CPUs are idle. Note that scalable
153 detection of the all-CPUs-idle state means that larger systems
154 will be slower to declare the all-CPUs-idle state.
155
156 Say Y if you would like to help debug all-CPUs-idle detection.
157
158 Say N if you are unsure.
159
137config NO_HZ 160config NO_HZ
138 bool "Old Idle dynticks config" 161 bool "Old Idle dynticks config"
139 depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS 162 depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS