aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/time/Kconfig
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2011-08-10 17:21:01 -0400
committerFrederic Weisbecker <fweisbec@gmail.com>2013-04-02 14:30:43 -0400
commitab71d36ddb9e60d4ddb28a187718815d38c3c666 (patch)
tree3456661db28440093aa4b6595aec2b89557aebaf /kernel/time/Kconfig
parent1c20091e77fc5a9b7d7d905176443b4822a23cdb (diff)
nohz: Unhide full dynticks feature from its dependencies
The full dynticks feature only shows up when all its Kconfig dependencies are met (RCU nocbs, RCU user mode, ...) This is far from being user friendly as those who want to activate this feature need to look into the Kconfig files and iterate through each dependency then activate these by hand in order to show and select the full dynticks Kconfig option. So process the other way around: show up the Kconfig option if the minimal low level dependencies are met and activate the high level ones when we enable the feature. Note there is one exception in the picture: CONFIG_VIRT_CPU_ACCOUNTING_GEN is part of a Kconfig choice menu and it appears we can't select it from another Kconfig selection when it's under such layout. So for now this particular item stays as a passive dependency. Reported-by: Ingo Molnar <mingo@kernel.org> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Chris Metcalf <cmetcalf@tilera.com> Cc: Christoph Lameter <cl@linux.com> Cc: Geoff Levand <geoff@infradead.org> Cc: Gilad Ben Yossef <gilad@benyossef.com> Cc: Hakan Akkan <hakanakkan@gmail.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Kevin Hilman <khilman@linaro.org> Cc: Li Zhong <zhong@linux.vnet.ibm.com> Cc: Namhyung Kim <namhyung.kim@lge.com> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Paul Gortmaker <paul.gortmaker@windriver.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/time/Kconfig')
-rw-r--r--kernel/time/Kconfig19
1 files changed, 14 insertions, 5 deletions
diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig
index 5a87c03e45ad..726c33e00da2 100644
--- a/kernel/time/Kconfig
+++ b/kernel/time/Kconfig
@@ -80,11 +80,20 @@ config NO_HZ
80 busy and when the system is idle. 80 busy and when the system is idle.
81 81
82config NO_HZ_EXTENDED 82config NO_HZ_EXTENDED
83 bool "Full dynticks system" 83 bool "Full dynticks system"
84 depends on NO_HZ && RCU_USER_QS && VIRT_CPU_ACCOUNTING_GEN && RCU_NOCB_CPU && SMP 84 # NO_HZ dependency
85 select CONTEXT_TRACKING_FORCE 85 depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS
86 help 86 # RCU_USER_QS
87 Adaptively try to shutdown the tick whenever possible, even when 87 depends on HAVE_CONTEXT_TRACKING && SMP
88 # RCU_NOCB_CPU dependency
89 depends on TREE_RCU || TREE_PREEMPT_RCU
90 depends on VIRT_CPU_ACCOUNTING_GEN
91 select NO_HZ
92 select RCU_USER_QS
93 select RCU_NOCB_CPU
94 select CONTEXT_TRACKING_FORCE
95 help
96 Adaptively try to shutdown the tick whenever possible, even when
88 the CPU is running tasks. Typically this requires running a single 97 the CPU is running tasks. Typically this requires running a single
89 task on the CPU. Chances for running tickless are maximized when 98 task on the CPU. Chances for running tickless are maximized when
90 the task mostly runs in userspace and has few kernel activity. 99 the task mostly runs in userspace and has few kernel activity.