aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sysctl.c
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2007-11-09 16:39:39 -0500
committerIngo Molnar <mingo@elte.hu>2007-11-09 16:39:39 -0500
commitb82d9fdd848abfbe7263a4ecd9bbb55e575100a6 (patch)
tree7d4c525cc4bd633c84abcfd8d934c84e5dc9ce7c /kernel/sysctl.c
parent3c90e6e99b08f01d5684a3a07cceae6a543e4fa8 (diff)
sched: avoid large irq-latencies in smp-balancing
SMP balancing is done with IRQs disabled and can iterate the full rq. When rqs are large this can cause large irq-latencies. Limit the nr of iterations on each run. This fixes a scheduling latency regression reported by the -rt folks. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Acked-by: Steven Rostedt <rostedt@goodmis.org> Tested-by: Gregory Haskins <ghaskins@novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/sysctl.c')
-rw-r--r--kernel/sysctl.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index adddf682d4cb..3a1744fed2b6 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -301,6 +301,14 @@ static struct ctl_table kern_table[] = {
301 .mode = 0644, 301 .mode = 0644,
302 .proc_handler = &proc_dointvec, 302 .proc_handler = &proc_dointvec,
303 }, 303 },
304 {
305 .ctl_name = CTL_UNNUMBERED,
306 .procname = "sched_nr_migrate",
307 .data = &sysctl_sched_nr_migrate,
308 .maxlen = sizeof(unsigned int),
309 .mode = 644,
310 .proc_handler = &proc_dointvec,
311 },
304#endif 312#endif
305 { 313 {
306 .ctl_name = CTL_UNNUMBERED, 314 .ctl_name = CTL_UNNUMBERED,