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.