diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2009-12-16 18:04:34 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-01-06 15:03:20 -0800 |
commit | 8e04c81a2240ac2fc5d9efe804388526331ccac7 (patch) | |
tree | fbf996c39dcf02a2cd2f94c4bfc1cc74bfc9d0f9 /kernel | |
parent | c9ac6a9e841f2c82cb2a1f3adeb00858acc1c5c7 (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.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index 5488a5d3bc0..199228b24bb 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. |