diff options
author | 2018-05-02 11:07:02 -0700 | |
---|---|---|
committer | 2018-07-12 15:39:01 -0700 | |
commit | 928164351e700f91ab588f20fe470cac9db477a9 (patch) | |
tree | 93f0a4ee3c9bfb55d1dce30628e68c801f28bd0b /tools/perf/scripts/python/export-to-postgresql.py | |
parent | rcu: Replace smp_wmb() with smp_store_release() for stall check (diff) | |
download | wireguard-linux-928164351e700f91ab588f20fe470cac9db477a9.tar.xz wireguard-linux-928164351e700f91ab588f20fe470cac9db477a9.zip |
rcu: Prevent useless FQS scan after all CPUs have checked in
The force_qs_rnp() function checks for ->qsmask being all zero, that is,
all CPUs for the current rcu_node structure having already passed through
quiescent states. But with RCU-preempt, this is not sufficient to report
quiescent states further up the tree, so there are further checks that
can initiate RCU priority boosting and also for races with CPU-hotplug
operations. However, if neither of these further checks apply, the code
proceeds to carry out a useless scan of an all-zero ->qsmask.
This commit therefore adds code to release the current rcu_node
structure's lock and continue on to the next rcu_node structure, thereby
avoiding this useless scan.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions