[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140723165050.GI23175@localhost.localdomain>
Date: Wed, 23 Jul 2014 18:50:51 +0200
From: Frederic Weisbecker <fweisbec@...il.com>
To: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@...radead.org>,
linux-kernel@...r.kernel.org, mingo@...nel.org,
laijs@...fujitsu.com, dipankar@...ibm.com,
akpm@...ux-foundation.org, mathieu.desnoyers@...icios.com,
josh@...htriplett.org, tglx@...utronix.de, rostedt@...dmis.org,
dhowells@...hat.com, edumazet@...gle.com, dvhart@...ux.intel.com,
oleg@...hat.com, bobby.prani@...il.com
Subject: Re: [PATCH tip/core/rcu] Do not keep timekeeping CPU tick running
for non-nohz_full= CPUs
On Wed, Jul 23, 2014 at 09:31:59AM -0700, Paul E. McKenney wrote:
> On Wed, Jul 23, 2014 at 06:23:48PM +0200, Frederic Weisbecker wrote:
> > On Mon, Jul 21, 2014 at 10:33:06AM -0700, Paul E. McKenney wrote:
> > > On Mon, Jul 21, 2014 at 07:04:59PM +0200, Peter Zijlstra wrote:
> > > > On Mon, Jul 21, 2014 at 08:57:41AM -0700, Paul E. McKenney wrote:
> > > > > On Sun, Jul 20, 2014 at 10:34:17PM +0200, Peter Zijlstra wrote:
> > > > > > On Sun, Jul 20, 2014 at 04:47:59AM -0700, Paul E. McKenney wrote:
> > > > > > > So we really have to have -all- the CPUs be idle to turn off the timekeeper.
> > > > > >
> > > > > > That seems to be pretty unavoidable any which way around.
> > > > >
> > > > > Hmmm... The exception would be the likely common case where none of
> > > > > the CPUs are flagged as nohz_full= CPUs. If we handled that case as
> > > > > if CONFIG_NO_HZ_FULL=n, we would have handled almost all of
> > > > > the problem.
> > > >
> > > > You mean that is not currently the case? Yes that seems like a fairly
> > > > sane thing to do.
> > >
> > > Hard to say -- need to see where Frederic is putting the call to
> > > rcu_sys_is_idle(). On the RCU side, I could potentially lower overhead
> > > by checking tick_nohz_full_enabled() in a few functions.
> >
> > Yeah you definetly can.
> >
> > Just put this in the very beginning of rcu_sys_is_idle():
> >
> > if (tick_nohz_full_enabled())
> > return true;
>
> That would be !tick_nohz_full_enabled(), right? But please see below.
Right.
>
> > That imply perhaps a more appropriate name like rcu_sys_need_timekeeper(),
> > with inverted condition.
>
> Ah, I thought that you already avoided invoking rcu_sys_is_idle() when
> !tick_nohz_full_enabled(), so I didn't add a check to that function.
> Are you planning to change this? Or am I having eyesight problems?
Ah right, I forgot that I already have that check from the caller.
Thanks.
--
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