rcu: Make kernel-mode nohz_full CPUs invoke the RCU core processing
authorPaul E. McKenney <paulmck@kernel.org>
Sat, 14 Sep 2019 10:39:22 +0000 (03:39 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Mon, 28 Oct 2019 14:02:21 +0000 (07:02 -0700)
commitdd7dafd1ad50aa9ed7958235431f243ea131ee7d
tree6fab5bcf3edee0e5349f4e4e4005369e7fb5421c
parented93dfc6bc0084485ccad1ff6bd2ea81ab2c03cd
rcu: Make kernel-mode nohz_full CPUs invoke the RCU core processing

If a nohz_full CPU is idle or executing in userspace, it makes good sense
to keep it out of RCU core processing.  After all, the RCU grace-period
kthread can see its quiescent states and all of its callbacks are
offloaded, so there is nothing for RCU core processing to do.

However, if a nohz_full CPU is executing in kernel space, the RCU
grace-period kthread cannot do anything for it, so such a CPU must report
its own quiescent states.  This commit therefore makes nohz_full CPUs
skip RCU core processing only if the scheduler-clock interrupt caught
them in idle or in userspace.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
kernel/rcu/tree.c