On Wed, 13 Nov 2013 08:18:29 -0800
"Paul E. McKenney" <[email protected]> wrote:

> On Wed, Nov 13, 2013 at 11:12:57AM -0500, Steven Rostedt wrote:
> > On Wed, 13 Nov 2013 17:07:18 +0100 (CET)
> > Thomas Gleixner <[email protected]> wrote:
> > 
> > 
> > > Right. It's telling you if NOHZ is enabled. It's not telling you that
> > > NOHZ is active.
> > 
> > Yeah, which makes this code rather silly:
> > 
> > in rcu_prepare_for_idle():
> > 
> >     /* Handle nohz enablement switches conservatively. */
> >     tne = ACCESS_ONCE(tick_nohz_enabled);
> >     if (tne != rdtp->tick_nohz_enabled_snap) {
> >             if (rcu_cpu_has_callbacks(cpu, NULL))
> >                     invoke_rcu_core(); /* force nohz to see update. */
> >             rdtp->tick_nohz_enabled_snap = tne;
> >             return;
> >     }
> 
> OK, what should I be checking instead?  Not much point in trying to
> get RCU out of the way of disabling the scheduling-clock interrupt
> if NOHZ is disabled.  ;-)
> 

I'll leave the answer to Thomas, but checking tick_nohz_enabled just
lets you know if someone booted with nohz=off or not (and has nohz
configured). But it doesn't tell you if nohz is actually being used.

That is, tick_nohz_enabled is set at bootup and never changes.

Perhaps this old hardware uncovered other bugs as well ;-)

-- Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
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