diff options
author | Alexander Gordeev <agordeev@redhat.com> | 2015-02-11 09:42:38 -0500 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2015-02-26 15:11:53 -0500 |
commit | 915e8a4fe45eab871a862f6467ec7e59864735b2 (patch) | |
tree | 208961b9815145417216d6c85abf1a0789b24b70 | |
parent | 27153acbe1141ceecf098ca5d24c2ae2714c1a5f (diff) |
rcu: Remove fastpath from __rcu_process_callbacks()
The standard code path accommodates a condition when no
RCU callbacks are ready to invoke. Since size of the code
is a priority for tiny RCU, remove the fast path.
Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
-rw-r--r-- | kernel/rcu/tiny.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/kernel/rcu/tiny.c b/kernel/rcu/tiny.c index d4e7fe5f3baf..069742d61c68 100644 --- a/kernel/rcu/tiny.c +++ b/kernel/rcu/tiny.c | |||
@@ -168,17 +168,6 @@ static void __rcu_process_callbacks(struct rcu_ctrlblk *rcp) | |||
168 | unsigned long flags; | 168 | unsigned long flags; |
169 | RCU_TRACE(int cb_count = 0); | 169 | RCU_TRACE(int cb_count = 0); |
170 | 170 | ||
171 | /* If no RCU callbacks ready to invoke, just return. */ | ||
172 | if (&rcp->rcucblist == rcp->donetail) { | ||
173 | RCU_TRACE(trace_rcu_batch_start(rcp->name, 0, 0, -1)); | ||
174 | RCU_TRACE(trace_rcu_batch_end(rcp->name, 0, | ||
175 | !!ACCESS_ONCE(rcp->rcucblist), | ||
176 | need_resched(), | ||
177 | is_idle_task(current), | ||
178 | false)); | ||
179 | return; | ||
180 | } | ||
181 | |||
182 | /* Move the ready-to-invoke callbacks to a local list. */ | 171 | /* Move the ready-to-invoke callbacks to a local list. */ |
183 | local_irq_save(flags); | 172 | local_irq_save(flags); |
184 | RCU_TRACE(trace_rcu_batch_start(rcp->name, 0, rcp->qlen, -1)); | 173 | RCU_TRACE(trace_rcu_batch_start(rcp->name, 0, rcp->qlen, -1)); |