mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-11-14 10:15:13 +00:00
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> |
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Kconfig.debug | ||
| Makefile | ||
| rcu.h | ||
| rcu_segcblist.c | ||
| rcu_segcblist.h | ||
| rcuperf.c | ||
| rcutorture.c | ||
| srcutiny.c | ||
| srcutree.c | ||
| sync.c | ||
| tiny.c | ||
| tree.c | ||
| tree.h | ||
| tree_exp.h | ||
| tree_plugin.h | ||
| update.c | ||