Re: [PATCH 1/2] nohz: Disable LOCKUP_DETECTOR when NO_HZ_FULL isenabled

From: Paul E. McKenney
Date: Thu May 16 2013 - 11:07:20 EST


On Thu, May 16, 2013 at 10:10:27AM +0200, Peter Zijlstra wrote:
> On Wed, May 15, 2013 at 01:04:01PM -0400, Steven Rostedt wrote:
> > On Wed, 2013-05-15 at 18:59 +0200, Peter Zijlstra wrote:
> >
> > > At which point we could run the watchdog without perf_event_task_tick().
> >
> > At which point we can drop the disable LOCKUP_DETECTOR when NO_HZ_FULL
> > is enabled ;-)
> >
>
> Can we? The thing I'm worried about is RCU (of course!). ISTR we rely on RCU
> working in NMI context. AFAIR for RCU to work, we need to come out of out magic
> NO_HZ state since that would've put RCU into EQS.
>
> Frederic, PaulMck?

Not sure I understand the question, but hopefully the verbiage below helps.

Only RCU read-side critical sections need to work in NMI context,
and RCU hooks into nmi_enter() and nmi_exit() to handle this, and this
will work in NO_HZ_FULL in the same way that it works for NO_HZ_IDLE.

But if there are no NMIs, RCU doesn't care. In other words, RCU needs
to know about NMIs so that it can deal with any RCU read-side critical
sections in the NMI handlers, but RCU doesn't rely on NMIs happening at
any particular time or frequency.

Thanx, Paul

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/