linux/kernel/rcu
Paul E. McKenney 21f9c8f24c rcu: Eliminate softirq processing from rcutree
Running RCU out of softirq is a problem for some workloads that would
like to manage RCU core processing independently of other softirq work,
for example, setting kthread priority.  This commit therefore moves the
RCU core work from softirq to a per-CPU/per-flavor SCHED_OTHER kthread
named rcuc.  The SCHED_OTHER approach avoids the scalability problems
that appeared with the earlier attempt to move RCU core processing to
from softirq to kthreads.  That said, kernels built with RCU_BOOST=y
will run the rcuc kthreads at the RCU-boosting priority.

Reported-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Mike Galbraith <bitbucket@online.de>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
2020-10-14 00:59:22 +03:00
..
Makefile rcu: Move RCU-related source code to kernel/rcu directory 2013-10-15 12:53:31 -07:00
rcu.h rcu: Remove "extern" from function declarations in kernel/rcu/rcu.h 2013-12-12 12:34:17 -08:00
srcu.c rcu: Improve SRCU's grace-period comments 2013-12-09 15:12:38 -08:00
tiny.c rcu-more-fallout.patch 2020-10-14 00:59:17 +03:00
tiny_plugin.h rcu: Move RCU-related source code to kernel/rcu directory 2013-10-15 12:53:31 -07:00
torture.c rcu/torture: Dynamically allocate SRCU output buffer to avoid overflow 2013-12-12 12:34:16 -08:00
tree.c rcu: Eliminate softirq processing from rcutree 2020-10-14 00:59:22 +03:00
tree.h rcu: Eliminate softirq processing from rcutree 2020-10-14 00:59:22 +03:00
tree_plugin.h rcu: Eliminate softirq processing from rcutree 2020-10-14 00:59:22 +03:00
tree_trace.c rcu: Break call_rcu() deadlock involving scheduler and perf 2013-12-03 10:10:18 -08:00
update.c rcu: Merge RCU-bh into RCU-preempt 2020-10-14 00:59:17 +03:00