aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2008-08-04 02:54:26 -0400
committerIngo Molnar <mingo@elte.hu>2008-08-15 12:25:07 -0400
commit55cd53404c5cc5fd94708232e3b4aa4a9388917b (patch)
tree08a3fe8cf626735bc8cdb96508824c4c49aad265
parentf1679d08480008e06fd619c71635ed33274e2595 (diff)
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 <davem@davemloft.net> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--kernel/sched.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index 8bf8a5528bc7..040807196b33 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -808,9 +808,9 @@ const_debug unsigned int sysctl_sched_nr_migrate = 32;
808 808
809/* 809/*
810 * ratelimit for updating the group shares. 810 * ratelimit for updating the group shares.
811 * default: 0.5ms 811 * default: 0.25ms
812 */ 812 */
813const_debug unsigned int sysctl_sched_shares_ratelimit = 500000; 813unsigned int sysctl_sched_shares_ratelimit = 250000;
814 814
815/* 815/*
816 * period over which we measure -rt task cpu usage in us. 816 * period over which we measure -rt task cpu usage in us.
@@ -5740,6 +5740,8 @@ static inline void sched_init_granularity(void)
5740 sysctl_sched_latency = limit; 5740 sysctl_sched_latency = limit;
5741 5741
5742 sysctl_sched_wakeup_granularity *= factor; 5742 sysctl_sched_wakeup_granularity *= factor;
5743
5744 sysctl_sched_shares_ratelimit *= factor;
5743} 5745}
5744 5746
5745#ifdef CONFIG_SMP 5747#ifdef CONFIG_SMP