OSDN Git Service

rcu: Make CPU-hotplug removal operations enable tick
authorPaul E. McKenney <paulmck@kernel.org>
Fri, 2 Aug 2019 22:12:47 +0000 (15:12 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Sat, 5 Oct 2019 17:46:05 +0000 (10:46 -0700)
commit96926686deab853bcacf887501f4ed958e38666b
tree197e4fb14f6edaa8fae310e415f4d981905457b1
parent366237e7b0833faa2d8da7a8d7d7da8c3ca802e5
rcu: Make CPU-hotplug removal operations enable tick

CPU-hotplug removal operations run the multi_cpu_stop() function, which
relies on the scheduler to gain control from whatever is running on the
various online CPUs, including any nohz_full CPUs running long loops in
kernel-mode code.  Lack of the scheduler-clock interrupt on such CPUs
can delay multi_cpu_stop() for several minutes and can also result in
RCU CPU stall warnings.  This commit therefore causes CPU-hotplug removal
operations to enable the scheduler-clock interrupt on all online CPUs.

[ paulmck: Apply Joel Fernandes TICK_DEP_MASK_RCU->TICK_DEP_BIT_RCU fix. ]
[ paulmck: Apply simplifications suggested by Frederic Weisbecker. ]
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
kernel/rcu/tree.c