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.
Showing the changes to kernel (1 of 1 file). Show all
Unified · Split
| @@ -2005,7 +2005,7 @@ static void nocb_gp_wait(struct rcu_data *my_rdp) · 2004 unmodified lines | |||
| 2005 | /* Polling, so trace if first poll in the series. */ | 2005 | /* Polling, so trace if first poll in the series. */ |
| 2006 | if (gotcbs) | 2006 | if (gotcbs) |
| 2007 | trace_rcu_nocb_wake(rcu_state.name, cpu, TPS("Poll")); | 2007 | trace_rcu_nocb_wake(rcu_state.name, cpu, TPS("Poll")); |
| 2008 | schedule_timeout_interruptible(1); | 2008 | schedule_timeout_idle(1); |
| 2009 | } else if (!needwait_gp) { | 2009 | } else if (!needwait_gp) { |
| 2010 | /* Wait for callbacks to appear. */ | 2010 | /* Wait for callbacks to appear. */ |
| 2011 | trace_rcu_nocb_wake(rcu_state.name, cpu, TPS("Sleep")); | 2011 | trace_rcu_nocb_wake(rcu_state.name, cpu, TPS("Sleep")); |