aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcu/tree.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2014-11-03 21:20:20 -0500
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2015-01-06 14:02:48 -0500
commit1be0085b515e786e962b9f2d03616209eb6eb9a7 (patch)
treefda3686520e39b3f63efddfd84809fbc9f5e790b /kernel/rcu/tree.c
parent3e9f5c70d85060ff0db71826e2048daffec336e7 (diff)
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 <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcu/tree.c')
-rw-r--r--kernel/rcu/tree.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 990b406faf4e..5a0a4c969d38 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -2513,12 +2513,6 @@ static void force_qs_rnp(struct rcu_state *rsp,
2513 } 2513 }
2514 raw_spin_unlock_irqrestore(&rnp->lock, flags); 2514 raw_spin_unlock_irqrestore(&rnp->lock, flags);
2515 } 2515 }
2516 rnp = rcu_get_root(rsp);
2517 if (rnp->qsmask == 0) {
2518 raw_spin_lock_irqsave(&rnp->lock, flags);
2519 smp_mb__after_unlock_lock();
2520 rcu_initiate_boost(rnp, flags); /* releases rnp->lock. */
2521 }
2522} 2516}
2523 2517
2524/* 2518/*