From: Paul E. McKenney Date: Tue, 4 Nov 2014 02:20:20 +0000 (-0800) Subject: rcu: Don't initiate RCU priority boosting on root rcu_node X-Git-Tag: v4.0-rc1~27^2^2~1^3~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1be0085b515e786e962b9f2d03616209eb6eb9a7;p=platform%2Fkernel%2Flinux-exynos.git rcu: Don't initiate RCU priority boosting on root rcu_node Because there is no longer any preempted tasks on the root rcu_node, and because there is no longer ever an rcub kthread for the root rcu_node, this commit drops the code in force_qs_rnp() that attempts to awaken the non-existent root rcub kthread. This is strictly a performance enhancement, removing a root rcu_node ->lock acquisition and release along with some tests in rcu_initiate_boost(), ending with the test that notes that there is no rcub kthread. Signed-off-by: Paul E. McKenney --- diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 990b406..5a0a4c96 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -2513,12 +2513,6 @@ static void force_qs_rnp(struct rcu_state *rsp, } raw_spin_unlock_irqrestore(&rnp->lock, flags); } - rnp = rcu_get_root(rsp); - if (rnp->qsmask == 0) { - raw_spin_lock_irqsave(&rnp->lock, flags); - smp_mb__after_unlock_lock(); - rcu_initiate_boost(rnp, flags); /* releases rnp->lock. */ - } } /*