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

Frederic Weisbecker
2011-08-30T14:27:16Z

On Tue, Aug 30, 2011 at 04:13:57PM +0200, Peter Zijlstra wrote:
> 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.

Until we find a better solution yeah.