aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcutiny_plugin.h
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2013-03-27 13:11:15 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2013-06-10 16:45:51 -0400
commit9dc5ad32488a75504349372330cc228d4dd678db (patch)
tree794a5a4ac485fa4e6141dc6f14d23b0963c4bbab /kernel/rcutiny_plugin.h
parent58c4e69d43df91fd6a55bc070474aad6b7cfb18d (diff)
rcu: Simplify RCU_TINY RCU callback invocation
TINY_PREEMPT_RCU could use a kthread to handle RCU callback invocation, which required an API to abstract kthread vs. softirq invocation. Now that TINY_PREEMPT_RCU is no longer with us, this commit retires this API in favor of direct use of the relevant softirq primitives. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Diffstat (limited to 'kernel/rcutiny_plugin.h')
-rw-r--r--kernel/rcutiny_plugin.h33
1 files changed, 0 insertions, 33 deletions
diff --git a/kernel/rcutiny_plugin.h b/kernel/rcutiny_plugin.h
index bfe992407803..36fd83c544c8 100644
--- a/kernel/rcutiny_plugin.h
+++ b/kernel/rcutiny_plugin.h
@@ -102,39 +102,6 @@ static void check_cpu_stalls(void)
102 RCU_TRACE(check_cpu_stall_preempt()); 102 RCU_TRACE(check_cpu_stall_preempt());
103} 103}
104 104
105/* Hold off callback invocation until early_initcall() time. */
106static int rcu_scheduler_fully_active __read_mostly;
107
108/*
109 * Start up softirq processing of callbacks.
110 */
111void invoke_rcu_callbacks(void)
112{
113 if (rcu_scheduler_fully_active)
114 raise_softirq(RCU_SOFTIRQ);
115}
116
117#ifdef CONFIG_RCU_TRACE
118
119/*
120 * There is no callback kthread, so this thread is never it.
121 */
122static bool rcu_is_callbacks_kthread(void)
123{
124 return false;
125}
126
127#endif /* #ifdef CONFIG_RCU_TRACE */
128
129static int __init rcu_scheduler_really_started(void)
130{
131 rcu_scheduler_fully_active = 1;
132 open_softirq(RCU_SOFTIRQ, rcu_process_callbacks);
133 raise_softirq(RCU_SOFTIRQ); /* Invoke any callbacks from early boot. */
134 return 0;
135}
136early_initcall(rcu_scheduler_really_started);
137
138#ifdef CONFIG_DEBUG_LOCK_ALLOC 105#ifdef CONFIG_DEBUG_LOCK_ALLOC
139#include <linux/kernel_stat.h> 106#include <linux/kernel_stat.h>
140 107