From: Paul E. McKenney Date: Fri, 21 Jun 2013 18:08:45 +0000 (-0700) Subject: nohz_full: Add Kconfig parameter for scalable detection of all-idle state X-Git-Tag: next-20130717~25^2~6 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=d8255de8f5cabc37d81fb74e256ee35408e1da2f;p=karo-tx-linux.git 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 Cc: Frederic Weisbecker Cc: Steven Rostedt --- diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig index 70f27e89012b..a613c2a92518 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