linux/kernel/rcu
Paul E. McKenney 8d672fa6bf rcu: Make rcu_init_new_rnp() stop upon already-set bit
Currently, rcu_init_new_rnp() walks up the rcu_node combining tree,
setting bits in the ->qsmaskinit fields on the way up.  It walks up
unconditionally, regardless of the initial state of these bits.  This is
OK because only the corresponding RCU grace-period kthread ever tests
or sets these bits during runtime.  However, it is also pointless, and
it increases both memory and lock contention (albeit only slightly), so
this commit stops the walk as soon as an already-set bit is encountered.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
2018-07-12 15:38:59 -07:00
..
Kconfig rcu: Drive TASKS_RCU directly off of PREEMPT 2017-08-17 07:26:04 -07:00
Kconfig.debug rcu: Move RCU debug Kconfig options to kernel/rcu 2017-06-08 18:52:44 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rcu_segcblist.c rcu: Simplify and inline cpu_needs_another_gp() 2018-05-15 10:30:59 -07:00
rcu_segcblist.h rcu: Simplify and inline cpu_needs_another_gp() 2018-05-15 10:30:59 -07:00
rcu.h rcutorture: Correctly handle grace-period sequence wrap 2018-07-12 15:38:55 -07:00
rcuperf.c rcutorture: Correctly handle grace-period sequence wrap 2018-07-12 15:38:55 -07:00
rcutorture.c rcutorture: Correctly handle grace-period sequence wrap 2018-07-12 15:38:55 -07:00
srcutiny.c srcu: Add cleanup_srcu_struct_quiesced() 2018-05-15 10:27:56 -07:00
srcutree.c rcutorture: Convert rcutorture_get_gp_data() to ->gp_seq 2018-07-12 14:27:57 -07:00
sync.c doc: Fix various RCU docbook comment-header problems 2017-10-19 22:26:11 -04:00
tiny.c srcu: Move rcu_scheduler_starting() from Tiny RCU to Tiny SRCU 2017-07-24 16:03:22 -07:00
tree_exp.h rcu: Make expedited GPs handle CPU 0 being offline 2018-07-12 12:36:06 -07:00
tree_plugin.h rcu: Remove ->gpnum and ->completed 2018-07-12 15:38:48 -07:00
tree.c rcu: Make rcu_init_new_rnp() stop upon already-set bit 2018-07-12 15:38:59 -07:00
tree.h rcu: Remove ->gpnum and ->completed 2018-07-12 15:38:48 -07:00
update.c rcu: Move __rcu_read_lock() and __rcu_read_unlock() to tree_plugin.h 2018-05-15 10:27:41 -07:00