Re: 3.0-git15 Atomic scheduling in pidmap_init

Paul E. McKenney
2011-08-24T23:57:06Z

On Thu, Aug 25, 2011 at 01:34:24AM +0200, Frederic Weisbecker wrote:
> 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?

Yep, that is the theory, anyway. ;-)

Thanx, Paul

> > > > rdp->passed_quiesc_completed = rnp->completed - 1;
> > > > }
> > > > raw_spin_unlock(&rnp->lock); /* irqs already disabled. */
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/