Re: 3.0-git15 Atomic scheduling in pidmap_init

Frederic Weisbecker
2011-08-24T23:34:30Z

On Wed, Aug 24, 2011 at 04:12:55PM -0700, Paul E. McKenney wrote:
> Indeed, this was a bogus patch. The version I posted on the -rcu git
> tree a few days ago has the correct "rdp->qs_pending = 0". I thought
> that I had chased down all the bogus copies, but obviously not. :-(

Ah ok.

> > Should it perhaps set it to 1 only if we have rnp->gpnum > rnp->completed ?
>
> I would rather keep it simple. If rnp->gpnum > rnp->completed, then
> the newly onlined CPU will notice and adjust appropriately soon enough.

Ah, just to ensure I understood well is that because rcu_pending() (called
from tick) would detect rnp->gpnum != rdp->gpnum and thus trigger the softirq
that notes the new gpnum and toggles qs_pending?

> Thanx, Paul
>
> > > rdp->passed_quiesc_completed = rnp->completed - 1;
> > > }
> > > raw_spin_unlock(&rnp->lock); /* irqs already disabled. */