rcu/nocb: Allow lockless use of rcu_segcblist_empty()
authorPaul E. McKenney <paulmck@linux.ibm.com>
Mon, 13 May 2019 22:57:50 +0000 (15:57 -0700)
committerPaul E. McKenney <paulmck@linux.ibm.com>
Tue, 13 Aug 2019 21:35:49 +0000 (14:35 -0700)
commite6060b41c9955374079926a7612b857a8458ed1f
tree297581f29d4caec633aa474b3b4dc30f16e5cffe
parent76c6927c3ee443e756f2c0c9f992cb04b26c65f2
rcu/nocb: Allow lockless use of rcu_segcblist_empty()

Currently, rcu_segcblist_empty() assumes that the callback list is not
being changed by other CPUs, but upcoming changes will require it to
operate locklessly.  This commit therefore adds the needed READ_ONCE()
call, along with the WRITE_ONCE() calls when updating the callback list's
->head field.

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