linux/kernel/rcu
Paul E. McKenney d3052109c0 rcu: More aggressively enlist scheduler aid for nohz_full CPUs
Because nohz_full CPUs can leave the scheduler-clock interrupt disabled
even when in kernel mode, RCU cannot rely on rcu_check_callbacks() to
enlist the scheduler's aid in extracting a quiescent state from such CPUs.
This commit therefore more aggressively uses resched_cpu() on nohz_full
CPUs that fail to pass through a quiescent state in a timely manner.
By default, the resched_cpu() beating starts 300 milliseconds into the
quiescent state.

While in the neighborhood, add a ->last_fqs_resched field to the rcu_data
structure in order to rate-limit resched_cpu() calls from the RCU
grace-period kthread.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
2018-08-30 16:03:44 -07:00
..
Kconfig rcu: Clean up flavor-related definitions and comments in Kconfig 2018-08-30 16:03:32 -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 rcu: Provide functions for determining if call_rcu() has been invoked 2018-08-30 16:03:42 -07:00
rcuperf.c rcuperf: Remove the "rcu_bh" and "sched" torture types 2018-08-30 16:03:30 -07:00
rcutorture.c rcutorture: Dump reader protection sequence if failures or close calls 2018-08-30 16:03:40 -07:00
srcutiny.c sched/swait: Rename to exclusive 2018-06-20 11:35:56 +02:00
srcutree.c rcu: Clean up flavor-related definitions and comments in srcutree.h 2018-08-30 16:03:34 -07:00
sync.c doc: Fix various RCU docbook comment-header problems 2017-10-19 22:26:11 -04:00
tiny.c rcu: Motivate Tiny RCU forward progress 2018-08-30 16:03:41 -07:00
tree_exp.h rcu: Clean up flavor-related definitions and comments in tree_exp.h 2018-08-30 16:03:35 -07:00
tree_plugin.h rcu: More aggressively enlist scheduler aid for nohz_full CPUs 2018-08-30 16:03:44 -07:00
tree.c rcu: More aggressively enlist scheduler aid for nohz_full CPUs 2018-08-30 16:03:44 -07:00
tree.h rcu: More aggressively enlist scheduler aid for nohz_full CPUs 2018-08-30 16:03:44 -07:00
update.c rcu: Clean up flavor-related definitions and comments in update.c 2018-08-30 16:03:36 -07:00