OSDN Git Service

rcu: Move grace-period pre-init delay after pre-init
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 3 May 2018 20:40:25 +0000 (13:40 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 12 Jul 2018 22:39:06 +0000 (15:39 -0700)
commitf34f2f5852e556ee1c3b3b294571086b1791008a
tree499c355393046ecce8036cc39b52b98fc60c539e
parent1f3e5f51b933cbc25e3da0cdbdac40716df04ddb
rcu: Move grace-period pre-init delay after pre-init

The main race with the early part of grace-period initialization appears
to be with CPU hotplug.  To more fully open this race window, this commit
moves the rcu_gp_slow() from the beginning of the early initialization
loop to follow that loop, thus widening the race window, especially for
the rcu_node structures that are initialized last.  This commit also
expands rcutree.gp_preinit_delay from 3 to 12, giving the same overall
delay in the grace period, but concentrated in the spot where it will
do the most good.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcu/tree.c
tools/testing/selftests/rcutorture/configs/rcu/TREE03.boot