aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sched.h
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2012-05-10 18:12:02 -0400
committerIngo Molnar <mingo@kernel.org>2012-05-14 09:05:26 -0400
commit04f733b4afac5dc93ae9b0a8703c60b87def491e (patch)
tree7ef166c4d1c1dffdc993efbf3791d0f745f5a80c /include/linux/sched.h
parent316ad248307fba13be40f01e92a22b89457c32bc (diff)
sched/fair: Revert sched-domain iteration breakage
Patches c22402a2f ("sched/fair: Let minimally loaded cpu balance the group") and 0ce90475 ("sched/fair: Add some serialization to the sched_domain load-balance walk") are horribly broken so revert them. The problem is that while it sounds good to have the minimally loaded cpu do the pulling of more load, the way we walk the domains there is absolutely no guarantee this cpu will actually get to the domain. In fact its very likely it wont. Therefore the higher up the tree we get, the less likely it is we'll balance at all. The first of mask always walks up, while sucky in that it accumulates load on the first cpu and needs extra passes to spread it out at least guarantees a cpu gets up that far and load-balancing happens at all. Since its now always the first and idle cpus should always be able to balance so they get a task as fast as possible we can also do away with the added serialization. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/n/tip-rpuhs5s56aiv1aw7khv9zkw6@git.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r--include/linux/sched.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 3cbfb55bde25..4a559bf0622f 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -927,7 +927,6 @@ struct sched_group_power {
927struct sched_group { 927struct sched_group {
928 struct sched_group *next; /* Must be a circular list */ 928 struct sched_group *next; /* Must be a circular list */
929 atomic_t ref; 929 atomic_t ref;
930 int balance_cpu;
931 930
932 unsigned int group_weight; 931 unsigned int group_weight;
933 struct sched_group_power *sgp; 932 struct sched_group_power *sgp;