Messages in this thread | | | Date | Wed, 13 Nov 2013 08:35:52 -0800 | From | "Paul E. McKenney" <> | Subject | Re: nohz problem with idle time on old hardware |
| |
On Wed, Nov 13, 2013 at 11:23:38AM -0500, Steven Rostedt wrote: > On Wed, 13 Nov 2013 08:18:29 -0800 > "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> 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 <tglx@linutronix.de> 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.
Based on Thomas's most recent response, it sounds like I need to check a frozen shark or something. ;-)
Thanx, Paul
> That is, tick_nohz_enabled is set at bootup and never changes. > > Perhaps this old hardware uncovered other bugs as well ;-) > > -- Steve >
| |