Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ab71d36d authored by Frederic Weisbecker's avatar Frederic Weisbecker
Browse files

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: default avatarIngo Molnar <mingo@kernel.org>
Signed-off-by: default avatarFrederic 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>
parent 1c20091e
Loading
Loading
Loading
Loading
+14 −5
Original line number Diff line number Diff line
@@ -81,7 +81,16 @@ config NO_HZ

config NO_HZ_EXTENDED
	bool "Full dynticks system"
       depends on NO_HZ && RCU_USER_QS && VIRT_CPU_ACCOUNTING_GEN && RCU_NOCB_CPU && SMP
	# NO_HZ dependency
	depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS
	# RCU_USER_QS
	depends on HAVE_CONTEXT_TRACKING && SMP
	# RCU_NOCB_CPU dependency
	depends on TREE_RCU || TREE_PREEMPT_RCU
	depends on VIRT_CPU_ACCOUNTING_GEN
	select NO_HZ
	select RCU_USER_QS
	select RCU_NOCB_CPU
	select CONTEXT_TRACKING_FORCE
	help
	 Adaptively try to shutdown the tick whenever possible, even when