rcu: Reduce dyntick-idle state space
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 3 Oct 2017 02:45:10 +0000 (19:45 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 27 Nov 2017 16:40:10 +0000 (08:40 -0800)
commita0eb22bf64a755bb162b421120b9fbe7d012b85f
tree6bfe025b6e0003e660dd79e1f6a83b80ec125ad0
parent2e672ab2d491713541963afca3a5967ccc2376e9
rcu: Reduce dyntick-idle state space

Both extended-quiescent-state entry and exit first update the nesting
counter and then adjust the dyntick-idle state.  This means that there
are four states: (1) Both nesting and dyntick idle indicate idle,
(2) Nesting indicates idle but dyntick idle does not, (3) Nesting indicates
non-idle and dyntick idle does not, and (4) Both nesting and dyntick
idle indicate non-idle.  This commit simplifies the state space by
eliminating #3, reversing the order of updates on exit from extended
quiescent state.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcu/tree.c