[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20131113112338.7d303c0f@gandalf.local.home>
Date: Wed, 13 Nov 2013 11:23:38 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: paulmck@...ux.vnet.ibm.com
Cc: Thomas Gleixner <tglx@...utronix.de>,
Matthew Whitehead <tedheadster@...il.com>,
john.stultz@...aro.org, linux-kernel@...r.kernel.org,
mwhitehe@...hat.com
Subject: Re: nohz problem with idle time on old hardware
On Wed, 13 Nov 2013 08:18:29 -0800
"Paul E. McKenney" <paulmck@...ux.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@...utronix.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.
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 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