[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130729152813.GO26694@linux.vnet.ibm.com>
Date: Mon, 29 Jul 2013 08:28:13 -0700
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: Lai Jiangshan <laijs@...fujitsu.com>
Cc: linux-kernel@...r.kernel.org, mingo@...e.hu, dipankar@...ibm.com,
akpm@...ux-foundation.org, mathieu.desnoyers@...ymtl.ca,
josh@...htriplett.org, niv@...ibm.com, tglx@...utronix.de,
peterz@...radead.org, rostedt@...dmis.org, dhowells@...hat.com,
edumazet@...gle.com, darren@...art.com, fweisbec@...il.com,
sbw@....edu
Subject: Re: [PATCH RFC nohz_full 1/7] nohz_full: Add Kconfig parameter for
scalable detection of all-idle state
On Mon, Jul 29, 2013 at 11:35:56AM +0800, Lai Jiangshan wrote:
> On 07/27/2013 07:19 AM, Paul E. McKenney wrote:
> > From: "Paul E. McKenney" <paulmck@...ux.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@...ux.vnet.ibm.com>
> > Cc: Frederic Weisbecker <fweisbec@...il.com>
> > Cc: Steven Rostedt <rostedt@...dmis.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.
The code is not used only for debug, but if you enable it now, you will
likely be helping to debug it. ;-)
Thanx, Paul
> > +
> > + 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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists