OSDN Git Service

rcu: Add *_ONCE() for grace-period progress indicators
authorPaul E. McKenney <paulmck@kernel.org>
Sat, 4 Jan 2020 19:33:17 +0000 (11:33 -0800)
committerPaul E. McKenney <paulmck@kernel.org>
Thu, 20 Feb 2020 23:58:22 +0000 (15:58 -0800)
commit8ff37290d6622e130553a38ec2662a728e46cdba
tree5e44a2a33b07485e0657433245613c0c1692fbce
parentbfeebe24212d374f82bbf5b005371fe13acabb93
rcu: Add *_ONCE() for grace-period progress indicators

The various RCU structures' ->gp_seq, ->gp_seq_needed, ->gp_req_activity,
and ->gp_activity fields are read locklessly, so they must be updated with
WRITE_ONCE() and, when read locklessly, with READ_ONCE().  This commit makes
these changes.

This data race was reported by KCSAN.  Not appropriate for backporting
due to failure being unlikely.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
kernel/rcu/tree.c
kernel/rcu/tree_plugin.h
kernel/rcu/tree_stall.h