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

Frederic Weisbecker
2011-08-30T14:11:18Z

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.