sched: Set group_imb only a task can be pulled from the busiest cpu
authorNikhil Rao <ncrao@google.com>
Wed, 13 Oct 2010 19:09:36 +0000 (12:09 -0700)
committerIngo Molnar <mingo@elte.hu>
Mon, 18 Oct 2010 18:52:17 +0000 (20:52 +0200)
commit2582f0eba54066b5e98ff2b27ef0cfa833b59f54
treec5a41c2b1458a813b40f20f529a3b86a93c24932
parentef8002f6848236de5adc613063ebeabddea8a6fb
sched: Set group_imb only a task can be pulled from the busiest cpu

When cycling through sched groups to determine the busiest group, set
group_imb only if the busiest cpu has more than 1 runnable task. This patch
fixes the case where two cpus in a group have one runnable task each, but there
is a large weight differential between these two tasks. The load balancer is
unable to migrate any task from this group, and hence do not consider this
group to be imbalanced.

Signed-off-by: Nikhil Rao <ncrao@google.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1286996978-7007-3-git-send-email-ncrao@google.com>
[ small code readability edits ]
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched_fair.c