Jesse Barnes wrote: >Looks like a bit more context has changed. Manfred, care to respin against >-mm3 so I can test? > > > The patches are attached. Just boot-tested on a single-cpu system. Three changes: - I've placed the per-group structure into rcu_state. That's simpler but wrong: the state should be allocated from node-local memory, not a big global array. - I found a bug/race in the cpu_offline path: When the last cpu of a group goes offline then the group must be forced into quiescent state. The "&& (!forced)" was missing. - I've removed the spin_unlock_wait(). It was intended to synchronize cpu_online_mask changes with the calculation of ->outstanding. Paul convinced me that this is not necessary. -- Manfred