[tip: core/rcu] rcu: Priority-boost-related sleeps to idle priority

From: tip-bot2 for Paul E. McKenney
Date: Fri Jul 31 2020 - 05:25:07 EST


The following commit has been merged into the core/rcu branch of tip:

Commit-ID: a9352f72d6a9e8fe4840b9f0d97af8f5a6c52c79
Gitweb: https://git.kernel.org/tip/a9352f72d6a9e8fe4840b9f0d97af8f5a6c52c79
Author: Paul E. McKenney <paulmck@xxxxxxxxxx>
AuthorDate: Thu, 07 May 2020 16:34:38 -07:00
Committer: Paul E. McKenney <paulmck@xxxxxxxxxx>
CommitterDate: Mon, 29 Jun 2020 11:58:50 -07:00

rcu: Priority-boost-related sleeps to idle priority

This commit converts the long-standing schedule_timeout_interruptible()
call used by RCU's priority-boosting kthreads to schedule_timeout_idle().
This conversion avoids polluting the load-average with RCU-related
sleeping.

Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx>
---
kernel/rcu/tree_plugin.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
index 3522236..25296c1 100644
--- a/kernel/rcu/tree_plugin.h
+++ b/kernel/rcu/tree_plugin.h
@@ -1033,7 +1033,7 @@ static int rcu_boost_kthread(void *arg)
if (spincnt > 10) {
WRITE_ONCE(rnp->boost_kthread_status, RCU_KTHREAD_YIELDING);
trace_rcu_utilization(TPS("End boost kthread@rcu_yield"));
- schedule_timeout_interruptible(2);
+ schedule_timeout_idle(2);
trace_rcu_utilization(TPS("Start boost kthread@rcu_yield"));
spincnt = 0;
}