mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-15 21:23:23 +00:00
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>
This commit is contained in:
parent
3ac8587852
commit
ebc88ad491
@ -1775,6 +1775,8 @@ static noinline_for_stack bool rcu_gp_init(void)
|
|||||||
*/
|
*/
|
||||||
WRITE_ONCE(rcu_state.gp_state, RCU_GP_ONOFF);
|
WRITE_ONCE(rcu_state.gp_state, RCU_GP_ONOFF);
|
||||||
rcu_for_each_leaf_node(rnp) {
|
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.
|
smp_mb(); // Pair with barriers used when updating ->ofl_seq to odd values.
|
||||||
firstseq = READ_ONCE(rnp->ofl_seq);
|
firstseq = READ_ONCE(rnp->ofl_seq);
|
||||||
if (firstseq & 0x1)
|
if (firstseq & 0x1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user