rcu: Move rcu_report_exp_rdp() setting of ->cpu_no_qs.b.exp under lock
authorPaul E. McKenney <paulmck@kernel.org>
Fri, 25 Oct 2024 22:56:17 +0000 (15:56 -0700)
committerUladzislau Rezki (Sony) <urezki@gmail.com>
Sat, 14 Dec 2024 16:10:07 +0000 (17:10 +0100)
commite2bd168295e4eb719a343086baddfe0abca512a2
tree9e46e5e577ecca41544aa5e52b1e8ed01b574c84
parentd16e32f75f30d5228d9e0a3f6ca77b62c3a4383d
rcu: Move rcu_report_exp_rdp() setting of ->cpu_no_qs.b.exp under lock

This commit reduces the state space of rcu_report_exp_rdp() by moving
the setting of ->cpu_no_qs.b.exp under the rcu_node structure's ->lock.
The lock isn't really all that important here, given that this per-CPU
field is supposed to be written only by its CPU, but the disabling of
interrupts excludes things like rcu_exp_handler(), which also can write
to this same field.  Avoiding this sort of interleaved access reduces
the state space.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Cc: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
kernel/rcu/tree_exp.h