sched: scale sysctl_sched_shares_ratelimit with nr_cpus
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.
Reported-by David Miller <[email protected]>
Signed-off-by Peter Zijlstra <[email protected]>
--- kernel/sched.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
kernel/sched.c +4 -2
@@ -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