diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2007-11-09 16:39:39 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2007-11-09 16:39:39 -0500 |
commit | b82d9fdd848abfbe7263a4ecd9bbb55e575100a6 (patch) | |
tree | 7d4c525cc4bd633c84abcfd8d934c84e5dc9ce7c /include/linux | |
parent | 3c90e6e99b08f01d5684a3a07cceae6a543e4fa8 (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.h | 1 |
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; | |||
1466 | extern unsigned int sysctl_sched_child_runs_first; | 1466 | extern unsigned int sysctl_sched_child_runs_first; |
1467 | extern unsigned int sysctl_sched_features; | 1467 | extern unsigned int sysctl_sched_features; |
1468 | extern unsigned int sysctl_sched_migration_cost; | 1468 | extern unsigned int sysctl_sched_migration_cost; |
1469 | extern unsigned int sysctl_sched_nr_migrate; | ||
1469 | 1470 | ||
1470 | int sched_nr_latency_handler(struct ctl_table *table, int write, | 1471 | int 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, |