srcu: Merge ->srcu_state into ->srcu_gp_seq
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 22 Mar 2017 22:26:18 +0000 (15:26 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 18 Apr 2017 18:38:22 +0000 (11:38 -0700)
commit80a7956fe36c2ee40c6ff12c77926d267802b7c8
treee8140078439a4e0fda35fa54d000212be1f6f00e
parentf1ec57a462314f3d1cd0c9c8a04979228aa9d38c
srcu: Merge ->srcu_state into ->srcu_gp_seq

Updating ->srcu_state and ->srcu_gp_seq will lead to extremely complex
race conditions given multiple callback queues, so this commit takes
advantage of the two-bit state now available in rcu_seq counters to
store the state in the bottom two bits of ->srcu_gp_seq.

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