]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
rcu: Don't initiate RCU priority boosting on root rcu_node
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 4 Nov 2014 02:20:20 +0000 (18:20 -0800)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 6 Jan 2015 19:02:48 +0000 (11:02 -0800)
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>
kernel/rcu/tree.c

index 990b406faf4e2e9fec8b45bbb512aaf08608930d..5a0a4c969d3832e724b178b82586cbe2f558682b 100644 (file)
@@ -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. */
-       }
 }
 
 /*