diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2008-08-04 02:54:26 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-08-15 12:25:07 -0400 |
commit | 55cd53404c5cc5fd94708232e3b4aa4a9388917b (patch) | |
tree | 08a3fe8cf626735bc8cdb96508824c4c49aad265 | |
parent | f1679d08480008e06fd619c71635ed33274e2595 (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.c | 6 |
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 | */ |
813 | const_debug unsigned int sysctl_sched_shares_ratelimit = 500000; | 813 | unsigned 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 |