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 SCHED_OTHER kthread.  The SCHED_OTHER
approach avoids the scalability problems that appeared with the earlier
attempt to move RCU core processing to from softirq to kthreads.

Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
3 files changed