sched: Remove short cut from select_task_rq_fair()
authorPeter Zijlstra <a.p.zijlstra@chello.nl>
Mon, 7 Sep 2009 16:12:06 +0000 (18:12 +0200)
committerIngo Molnar <mingo@elte.hu>
Mon, 7 Sep 2009 18:39:05 +0000 (20:39 +0200)
select_task_rq_fair() incorrectly skips the wake_affine()
logic, remove this.

When prev_cpu == this_cpu, the code jumps straight to the
wake_idle() logic, this doesn't give the wake_affine() logic
the chance to pin the task to this cpu.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched_fair.c

index 2ff850f..d7fda41 100644 (file)
@@ -1305,8 +1305,6 @@ static int select_task_rq_fair(struct task_struct *p, int sync)
        this_rq         = cpu_rq(this_cpu);
        new_cpu         = prev_cpu;
 
-       if (prev_cpu == this_cpu)
-               goto out;
        /*
         * 'this_sd' is the first domain that both
         * this_cpu and prev_cpu are present in: