* [PATCH tip/core/rcu 0/2] Tiny RCU updates for v4.1 @ 2015-03-03 17:53 Paul E. McKenney 2015-03-03 17:53 ` [PATCH tip/core/rcu 1/2] rcu: Remove unnecessary condition check in rcu_qsctr_help() Paul E. McKenney 0 siblings, 1 reply; 3+ messages in thread From: Paul E. McKenney @ 2015-03-03 17:53 UTC (permalink / raw) To: linux-kernel Cc: mingo, laijs, dipankar, akpm, mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells, edumazet, dvhart, fweisbec, oleg, bobby.prani Hello! This series contains some additional tinification for Tiny RCU: 1. Remove redundant check from rcu_qsctr_help(), courtesy of Alexander Gordeev. 2. Remove fastpath processing from __rcu_process_callbacks(), also courtesy of Alexander Gordeev. Thanx, Paul ------------------------------------------------------------------------ b/kernel/rcu/tiny.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH tip/core/rcu 1/2] rcu: Remove unnecessary condition check in rcu_qsctr_help() 2015-03-03 17:53 [PATCH tip/core/rcu 0/2] Tiny RCU updates for v4.1 Paul E. McKenney @ 2015-03-03 17:53 ` Paul E. McKenney 2015-03-03 17:53 ` [PATCH tip/core/rcu 2/2] rcu: Remove fastpath from __rcu_process_callbacks() Paul E. McKenney 0 siblings, 1 reply; 3+ messages in thread From: Paul E. McKenney @ 2015-03-03 17:53 UTC (permalink / raw) To: linux-kernel Cc: mingo, laijs, dipankar, akpm, mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells, edumazet, dvhart, fweisbec, oleg, bobby.prani, Alexander Gordeev, Paul E. McKenney From: Alexander Gordeev <agordeev@redhat.com> When the ->curtail and ->donetail pointers differ, ->rcucblist always points to the beginning of the current list and thus cannot be NULL. Therefore, the check ->rcucblist != NULL is redundant and this commit removes it. 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> --- kernel/rcu/tiny.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kernel/rcu/tiny.c b/kernel/rcu/tiny.c index cc9ceca7bde1..d4e7fe5f3baf 100644 --- a/kernel/rcu/tiny.c +++ b/kernel/rcu/tiny.c @@ -103,8 +103,7 @@ EXPORT_SYMBOL(__rcu_is_watching); static int rcu_qsctr_help(struct rcu_ctrlblk *rcp) { RCU_TRACE(reset_cpu_stall_ticks(rcp)); - if (rcp->rcucblist != NULL && - rcp->donetail != rcp->curtail) { + if (rcp->donetail != rcp->curtail) { rcp->donetail = rcp->curtail; return 1; } -- 1.8.1.5 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH tip/core/rcu 2/2] rcu: Remove fastpath from __rcu_process_callbacks() 2015-03-03 17:53 ` [PATCH tip/core/rcu 1/2] rcu: Remove unnecessary condition check in rcu_qsctr_help() Paul E. McKenney @ 2015-03-03 17:53 ` Paul E. McKenney 0 siblings, 0 replies; 3+ messages in thread From: Paul E. McKenney @ 2015-03-03 17:53 UTC (permalink / raw) To: linux-kernel Cc: mingo, laijs, dipankar, akpm, mathieu.desnoyers, josh, tglx, peterz, rostedt, dhowells, edumazet, dvhart, fweisbec, oleg, bobby.prani, Alexander Gordeev, Paul E. McKenney From: Alexander Gordeev <agordeev@redhat.com> 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> --- kernel/rcu/tiny.c | 11 ----------- 1 file changed, 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) unsigned long flags; RCU_TRACE(int cb_count = 0); - /* If no RCU callbacks ready to invoke, just return. */ - if (&rcp->rcucblist == rcp->donetail) { - RCU_TRACE(trace_rcu_batch_start(rcp->name, 0, 0, -1)); - RCU_TRACE(trace_rcu_batch_end(rcp->name, 0, - !!ACCESS_ONCE(rcp->rcucblist), - need_resched(), - is_idle_task(current), - false)); - return; - } - /* Move the ready-to-invoke callbacks to a local list. */ local_irq_save(flags); RCU_TRACE(trace_rcu_batch_start(rcp->name, 0, rcp->qlen, -1)); -- 1.8.1.5 ^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-03-03 17:54 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-03-03 17:53 [PATCH tip/core/rcu 0/2] Tiny RCU updates for v4.1 Paul E. McKenney 2015-03-03 17:53 ` [PATCH tip/core/rcu 1/2] rcu: Remove unnecessary condition check in rcu_qsctr_help() Paul E. McKenney 2015-03-03 17:53 ` [PATCH tip/core/rcu 2/2] rcu: Remove fastpath from __rcu_process_callbacks() Paul E. McKenney
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox