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/

