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

Commit b44379af authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

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: default avatarPaul 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: default avatarJosh Triplett <josh@joshtriplett.org>
parent 8bdf7a25
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -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" also includes dynticks CPUs as long as they are
	 running non-idle tasks.  Because the underlying adaptive-tick
	 support cannot distinguish between all CPUs being idle and
	 all CPUs each running a single task in dynticks 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