rcu: move TINY_RCU from softirq to kthread
commitb2c0710c464ede15e1fc52fb1e7ee9ba54cea186
authorPaul E. McKenney <paul.mckenney@linaro.org>
Thu, 9 Sep 2010 20:40:39 +0000 (9 13:40 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 17 Nov 2010 23:45:09 +0000 (17 15:45 -0800)
tree7524518fec8a02e53c3fab558b40a5e94f0bb5ec
parent8e8be45e8e55daa381028aec339829929ddb53a5
rcu: move TINY_RCU from softirq to kthread

If RCU priority boosting is to be meaningful, callback invocation must
be boosted in addition to preempted RCU readers.  Otherwise, in presence
of CPU real-time threads, the grace period ends, but the callbacks don't
get invoked.  If the callbacks don't get invoked, the associated memory
doesn't get freed, so the system is still subject to OOM.

But it is not reasonable to priority-boost RCU_SOFTIRQ, so this commit
moves the callback invocations to a kthread, which can be boosted easily.

Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
include/linux/rcupdate.h
include/linux/rcutiny.h
include/linux/rcutree.h
kernel/rcutiny.c
kernel/rcutiny_plugin.h