rcu/nocb: Atomic ->len field in rcu_segcblist structure
authorPaul E. McKenney <paulmck@linux.ibm.com>
Tue, 2 Jul 2019 00:36:53 +0000 (17:36 -0700)
committerPaul E. McKenney <paulmck@linux.ibm.com>
Tue, 13 Aug 2019 21:35:49 +0000 (14:35 -0700)
commiteda669a6a2c517fd6db41d0fe3c95c1b749c60bd
tree00d46158f1c02fff813a6d874f2ab0bef81078af
parentfaca5c250935262f026cac1bb951a0f7672474b8
rcu/nocb: Atomic ->len field in rcu_segcblist structure

Upcoming ->nocb_lock contention-reduction work requires that the
rcu_segcblist structure's ->len field be concurrently manipulated,
but only if there are no-CBs CPUs in the kernel.  This commit
therefore makes this ->len field be an atomic_long_t, but only
in CONFIG_RCU_NOCB_CPU=y kernels.

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