Re: [PATCH 05/32] nohz: Move rcu dynticks idle mode handling to idle enter/exit APIs

Peter Zijlstra
2011-08-30T14:14:43Z

On Tue, 2011-08-30 at 16:11 +0200, Frederic Weisbecker wrote:
> On Tue, Aug 30, 2011 at 01:17:42PM +0200, Peter Zijlstra wrote:
> > On Tue, 2011-08-30 at 01:35 +0200, Frederic Weisbecker wrote:
> > > But rcu read side critical sections (preemption disabled, rcu_read_lock(),
> > > softirq disabled) don't need the tick to enforce the critical section
> > > itself.
> >
> > Note that with PREEMPT_RCU only the rcu_read_lock() is actually an rcu
> > read side critical section, non of the others should be used as such.
> > Relying on preempt_disable(), local_bh_disable() and similar is broken
> > as per a long while ago.
>
> Sure yeah.
>
> My point was that the patchset doesn't care about all that anyway. Read
> side critical section still work as usual. What changes is the way we
> notice periods where we are *not* in rcu read side critical sections.
> This was previously partly made through the tick. Now it's still the case
> but we need to remotely wake up that tick first.

But you wake up the tick for any callback - systemwide - right? That's a
massive fail.