summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2009-12-16 18:04:34 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2010-01-06 15:03:20 -0800
commit8e04c81a2240ac2fc5d9efe804388526331ccac7 (patch)
treefbf996c39dcf02a2cd2f94c4bfc1cc74bfc9d0f9 /kernel
parentc9ac6a9e841f2c82cb2a1f3adeb00858acc1c5c7 (diff)
sched: Select_task_rq_fair() must honour SD_LOAD_BALANCE
commit e4f4288842ee12747e10c354d72be7d424c0b627 upstream. We should skip !SD_LOAD_BALANCE domains. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Mike Galbraith <efault@gmx.de> LKML-Reference: <20091216170517.653578430@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched_fair.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index 5488a5d3bc0e..199228b24bbc 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -1374,6 +1374,9 @@ static int select_task_rq_fair(struct task_struct *p, int sd_flag, int wake_flag
rcu_read_lock();
for_each_domain(cpu, tmp) {
+ if (!(tmp->flags & SD_LOAD_BALANCE))
+ continue;
+
/*
* If power savings logic is enabled for a domain, see if we
* are not overloaded, if so, don't balance wider.