rcu: No-CBs-related sleeps to idle priority
authorPaul E. McKenney <paulmck@kernel.org>
Thu, 7 May 2020 23:36:10 +0000 (16:36 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Mon, 29 Jun 2020 18:58:50 +0000 (11:58 -0700)
This commit converts the schedule_timeout_interruptible() call used by
RCU's no-CBs grace-period kthreads to schedule_timeout_idle().  This
conversion avoids polluting the load-average with RCU-related sleeping.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
kernel/rcu/tree_plugin.h

index 25296c17a30df228f71d82e4942e85634b9fa9fb..982fc5be5269871c6650f82a685016f66273f522 100644 (file)
@@ -2005,7 +2005,7 @@ static void nocb_gp_wait(struct rcu_data *my_rdp)
                /* Polling, so trace if first poll in the series. */
                if (gotcbs)
                        trace_rcu_nocb_wake(rcu_state.name, cpu, TPS("Poll"));
-               schedule_timeout_interruptible(1);
+               schedule_timeout_idle(1);
        } else if (!needwait_gp) {
                /* Wait for callbacks to appear. */
                trace_rcu_nocb_wake(rcu_state.name, cpu, TPS("Sleep"));