On Wed, Apr 19, 2017 at 05:40:40PM +0200, Peter Zijlstra wrote: > On Wed, Apr 19, 2017 at 08:08:09AM -0700, Paul E. McKenney wrote: > > And even that would not be completely sufficient. After all, the state > > in the leaf rcu_node structure will be out of date during grace-period > > initialization and cleanup. So to -completely- synchronize state for > > the incoming CPU, I would have to acquire the root rcu_node structure's > > lock and look at the live state. Needless to say, the performance and > > scalability implications of acquiring a global lock on each and every > > idle exit event is not going to be at all pretty. > > Arguably you could use a seqlock to read the global state. Will still > ponder things a bit more, esp. those bugs you pointed me at from just > reading gpnum.
Looking forward to hearing what you come up with! Thanx, Paul