On 07/27/2013 07:19 AM, Paul E. McKenney wrote:
> From: "Paul E. McKenney" <paul...@linux.vnet.ibm.com>
> 
> 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 <paul...@linux.vnet.ibm.com>
> Cc: Frederic Weisbecker <fweis...@gmail.com>
> Cc: Steven Rostedt <rost...@goodmis.org>
> ---
>  kernel/time/Kconfig | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
> 
> diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig
> index 70f27e8..a613c2a 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.

The code is needed only for debug?
I guess not.

> +
> +      Say N if you are unsure.
> +
>  config NO_HZ
>       bool "Old Idle dynticks config"
>       depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to