Re: [PATCH RFC] rcu: Limit GP initialization to CPUs that have beenonline

From: Mike Galbraith
Date: Sat Apr 14 2012 - 01:43:43 EST


On Fri, 2012-04-13 at 11:42 -0700, Paul E. McKenney wrote:
> On Wed, Apr 11, 2012 at 01:04:36PM +0200, Mike Galbraith wrote:

> > Hi Paul (and Dimitri),
> >
> > Just got back to this. I changed the patch around to check for a
> > hotplug event in force_qs_rnp(), and should that happen, process any
> > freshly added CPUs immediately rather than tell the caller to restart
> > from scratch. The rest of the delta is cosmetic, and there should be
> > zero performance change.
> >
> > Does this change address any of your concerns?
>
> Apologies for being slow to respond...

Hey, I'm grateful for any time you have to share.

> One of my main concerns was present in my original patch: I now believe
> that a given grace period needs to operate on the set of rcu_node
> structures (and CPUs) that were present at the beginning of the grace
> period. Otherwise, things could get confused if a given CPU participated
> in an later force_quiescent_state() state, but not in an earlier one.
>
> I believe that the correct way to handle this is to squirrel the maximum
> number of CPUs away in the rcu_state structure at the beginning of each
> grace period and use that as the limit.
>
> I call out a few more below.

Read it, got it. The last node being partially initialized still causes
some head scratching, I'll ponder that more between explosions. Thanks.

-Mike

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/