Messages in this thread | | | Subject | Re: [PATCH RFC] rcu: Limit GP initialization to CPUs that have been online | From | Mike Galbraith <> | Date | Sat, 14 Apr 2012 07:42:55 +0200 |
| |
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
| |