diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2014-11-03 21:20:20 -0500 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2015-01-06 14:02:48 -0500 |
commit | 1be0085b515e786e962b9f2d03616209eb6eb9a7 (patch) | |
tree | fda3686520e39b3f63efddfd84809fbc9f5e790b /kernel/rcu/tree.c | |
parent | 3e9f5c70d85060ff0db71826e2048daffec336e7 (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.c | 6 |
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 | /* |