aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/rcupdate.h
diff options
context:
space:
mode:
authorPaul E. McKenney <paul.mckenney@linaro.org>2010-09-09 16:40:39 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2010-11-17 18:45:09 -0500
commitb2c0710c464ede15e1fc52fb1e7ee9ba54cea186 (patch)
tree7524518fec8a02e53c3fab558b40a5e94f0bb5ec /include/linux/rcupdate.h
parent8e8be45e8e55daa381028aec339829929ddb53a5 (diff)
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>
Diffstat (limited to 'include/linux/rcupdate.h')
-rw-r--r--include/linux/rcupdate.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index 03cda7bed985..7142ee3304ab 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -118,7 +118,6 @@ static inline int rcu_preempt_depth(void)
118#endif /* #else #ifdef CONFIG_PREEMPT_RCU */ 118#endif /* #else #ifdef CONFIG_PREEMPT_RCU */
119 119
120/* Internal to kernel */ 120/* Internal to kernel */
121extern void rcu_init(void);
122extern void rcu_sched_qs(int cpu); 121extern void rcu_sched_qs(int cpu);
123extern void rcu_bh_qs(int cpu); 122extern void rcu_bh_qs(int cpu);
124extern void rcu_check_callbacks(int cpu, int user); 123extern void rcu_check_callbacks(int cpu, int user);