diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2013-03-27 13:11:15 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2013-06-10 16:45:51 -0400 |
commit | 9dc5ad32488a75504349372330cc228d4dd678db (patch) | |
tree | 794a5a4ac485fa4e6141dc6f14d23b0963c4bbab /kernel/rcutiny_plugin.h | |
parent | 58c4e69d43df91fd6a55bc070474aad6b7cfb18d (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.h | 33 |
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. */ | ||
106 | static int rcu_scheduler_fully_active __read_mostly; | ||
107 | |||
108 | /* | ||
109 | * Start up softirq processing of callbacks. | ||
110 | */ | ||
111 | void 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 | */ | ||
122 | static bool rcu_is_callbacks_kthread(void) | ||
123 | { | ||
124 | return false; | ||
125 | } | ||
126 | |||
127 | #endif /* #ifdef CONFIG_RCU_TRACE */ | ||
128 | |||
129 | static 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 | } | ||
136 | early_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 | ||