diff options
author | Paul E. McKenney <paulmck@kernel.org> | 2021-07-26 20:57:39 +0200 |
---|---|---|
committer | Paul E. McKenney <paulmck@kernel.org> | 2021-09-14 01:32:46 +0200 |
commit | ebc88ad491362e6a4fae5bfb1c23c06c876f70be (patch) | |
tree | 0e1cdc1d2b5f86427c6f5e048fb0e2d71f82decf /kernel/rcu | |
parent | rcu: Fix undefined Kconfig macros (diff) | |
download | linux-ebc88ad491362e6a4fae5bfb1c23c06c876f70be.tar.xz linux-ebc88ad491362e6a4fae5bfb1c23c06c876f70be.zip |
rcu: Comment rcu_gp_init() code waiting for CPU-hotplug operations
Near the beginning of rcu_gp_init() is a per-rcu_node loop that waits
for CPU-hotplug operations that might have started before the new
grace period did. This commit adds a comment explaining that this
wait does not exclude CPU-hotplug operations.
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'kernel/rcu')
-rw-r--r-- | kernel/rcu/tree.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 0bfebec94277..e6e1b9281530 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -1775,6 +1775,8 @@ static noinline_for_stack bool rcu_gp_init(void) */ WRITE_ONCE(rcu_state.gp_state, RCU_GP_ONOFF); rcu_for_each_leaf_node(rnp) { + // Wait for CPU-hotplug operations that might have + // started before this grace period did. smp_mb(); // Pair with barriers used when updating ->ofl_seq to odd values. firstseq = READ_ONCE(rnp->ofl_seq); if (firstseq & 0x1) |