lkml.org 
[lkml]   [2013]   [Aug]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH RFC nohz_full 1/7] nohz_full: Add Kconfig parameter for scalable detection of all-idle state
On Fri, Jul 26, 2013 at 04:19:18PM -0700, Paul E. McKenney wrote:
> From: "Paul E. McKenney" <paulmck@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 <paulmck@linux.vnet.ibm.com>
> Cc: Frederic Weisbecker <fweisbec@gmail.com>
> Cc: Steven Rostedt <rostedt@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.

"adaptive-idle" is particularly confusing here. How about this:

'where "non-idle" also includes dynticks CPUs as long 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 adaptive-idle mode,

s/adaptive-idle/dynticks

Thanks.

> + 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
> --
> 1.8.1.5
>


\
 
 \ /
  Last update: 2013-08-05 03:21    [W:0.232 / U:0.200 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site