lkml.org 
[lkml]   [2014]   [Jul]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH tip/core/rcu] Do not keep timekeeping CPU tick running for non-nohz_full= CPUs
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.

> 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?

Thanx, Paul



\
 
 \ /
  Last update: 2014-07-24 05:41    [W:0.190 / U:0.128 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site