diff options
| author | Frederic Weisbecker <frederic@kernel.org> | 2021-09-16 14:10:47 +0200 |
|---|---|---|
| committer | Paul E. McKenney <paulmck@kernel.org> | 2021-12-07 16:22:21 -0800 |
| commit | 6e16b0f7bae3817ea67f4bef4f84298e880fbf66 (patch) | |
| tree | e40e55263122cd41bad2dda19391f0a55f09c106 /kernel/rcu/tree_exp.h | |
| parent | a4382659487f84c00b5fbb61df25a9ad59396789 (diff) | |
| download | lwn-6e16b0f7bae3817ea67f4bef4f84298e880fbf66.tar.gz lwn-6e16b0f7bae3817ea67f4bef4f84298e880fbf66.zip | |
rcu: Move rcu_data.cpu_no_qs.b.exp reset to rcu_export_exp_rdp()
On non-preemptible RCU, move clearing of the rcu_data structure's
->cpu_no_qs.b.exp filed to the actual expedited quiescent state report
function, matching hw preemptible RCU handles the ->exp_deferred_qs field.
This prepares for removing ->exp_deferred_qs in favor of ->cpu_no_qs.b.exp
for both preemptible and non-preemptible RCU.
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'kernel/rcu/tree_exp.h')
| -rw-r--r-- | kernel/rcu/tree_exp.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/rcu/tree_exp.h b/kernel/rcu/tree_exp.h index f3947c49eee7..6c6eb3220385 100644 --- a/kernel/rcu/tree_exp.h +++ b/kernel/rcu/tree_exp.h @@ -256,6 +256,7 @@ static void rcu_report_exp_cpu_mult(struct rcu_node *rnp, static void rcu_report_exp_rdp(struct rcu_data *rdp) { WRITE_ONCE(rdp->exp_deferred_qs, false); + WRITE_ONCE(rdp->cpu_no_qs.b.exp, false); rcu_report_exp_cpu_mult(rdp->mynode, rdp->grpmask, true); } |
