Skip to contentSkip to conversation

sched: scale sysctl_sched_shares_ratelimit with nr_cpus

PATCH New Peter Zijlstra 1 participant 1 message Jul 30, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 sched: scale sysctl_sched_shares_ratelimit with nr_cpus

[And now with proper lkml address - so much for auto-add address entries]

Dhaval, Vatsa,

Could you guys give this patch a spin on the big iron and possibly tune the default shares_ratelimit value to give satisfactory fairness on your large machines while considering the overhead?

---
Subject: sched: scale sysctl_sched_shares_ratelimit with nr_cpus

David reported that his Niagra spend a little too much time in tg_shares_up(), which considering he has a large cpu count makes sense.

So scale the ratelimit value with the number of cpus like we do for other controls as well.

---
 kernel/sched.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
kernel/sched.c +4 -2
Index: linux-2.6/kernel/sched.c
===================================================================
@@ -809,9 +809,9 @@ const_debug unsigned int sysctl_sched_nr
 
 /*
  * ratelimit for updating the group shares.
- * default: 0.5ms
+ * default: 0.25ms
  */
-const_debug unsigned int sysctl_sched_shares_ratelimit = 500000;
+const_debug unsigned int sysctl_sched_shares_ratelimit = 250000;
 
 /*
  * period over which we measure -rt task cpu usage in us.
@@ -5732,6 +5732,8 @@ static inline void sched_init_granularit
 		sysctl_sched_latency = limit;
 
 	sysctl_sched_wakeup_granularity *= factor;
+
+	sysctl_sched_shares_ratelimit *= factor;
 }
 
 #ifdef CONFIG_SMP