diff options
author | Ingo Molnar <mingo@elte.hu> | 2007-07-09 12:51:57 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2007-07-09 12:51:57 -0400 |
commit | 0437e109e1841607f2988891eaa36c531c6aa6ac (patch) | |
tree | e9d8f170786f7e33d4c5829cb008cf38d42a2014 /include/linux/sched.h | |
parent | 0e6aca43e08a62a48d6770e9a159dbec167bf4c6 (diff) |
sched: zap the migration init / cache-hot balancing code
the SMP load-balancer uses the boot-time migration-cost estimation
code to attempt to improve the quality of balancing. The reason for
this code is that the discrete priority queues do not preserve
the order of scheduling accurately, so the load-balancer skips
tasks that were running on a CPU 'recently'.
this code is fundamental fragile: the boot-time migration cost detector
doesnt really work on systems that had large L3 caches, it caused boot
delays on large systems and the whole cache-hot concept made the
balancing code pretty undeterministic as well.
(and hey, i wrote most of it, so i can say it out loud that it sucks ;-)
under CFS the same purpose of cache affinity can be achieved without
any special cache-hot special-case: tasks are sorted in the 'timeline'
tree and the SMP balancer picks tasks from the left side of the
tree, thus the most cache-cold task is balanced automatically.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r-- | include/linux/sched.h | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 7e74262f98e1..8764cda0feca 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -754,12 +754,6 @@ struct sched_domain { | |||
754 | extern int partition_sched_domains(cpumask_t *partition1, | 754 | extern int partition_sched_domains(cpumask_t *partition1, |
755 | cpumask_t *partition2); | 755 | cpumask_t *partition2); |
756 | 756 | ||
757 | /* | ||
758 | * Maximum cache size the migration-costs auto-tuning code will | ||
759 | * search from: | ||
760 | */ | ||
761 | extern unsigned int max_cache_size; | ||
762 | |||
763 | #endif /* CONFIG_SMP */ | 757 | #endif /* CONFIG_SMP */ |
764 | 758 | ||
765 | 759 | ||