aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
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 /include/linux
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 'include/linux')
-rw-r--r--include/linux/sched.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 93fd30d6dac4..2cc789fef711 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1466,6 +1466,7 @@ extern unsigned int sysctl_sched_batch_wakeup_granularity;
1466extern unsigned int sysctl_sched_child_runs_first; 1466extern unsigned int sysctl_sched_child_runs_first;
1467extern unsigned int sysctl_sched_features; 1467extern unsigned int sysctl_sched_features;
1468extern unsigned int sysctl_sched_migration_cost; 1468extern unsigned int sysctl_sched_migration_cost;
1469extern unsigned int sysctl_sched_nr_migrate;
1469 1470
1470int sched_nr_latency_handler(struct ctl_table *table, int write, 1471int sched_nr_latency_handler(struct ctl_table *table, int write,
1471 struct file *file, void __user *buffer, size_t *length, 1472 struct file *file, void __user *buffer, size_t *length,