sched/fair: Delete resched_cpu() from idle_balance()
authorKirill Tkhai <ktkhai@parallels.com>
Tue, 30 Sep 2014 21:04:44 +0000 (01:04 +0400)
committerIngo Molnar <mingo@kernel.org>
Fri, 3 Oct 2014 03:46:56 +0000 (05:46 +0200)
We already reschedule env.dst_cpu in attach_tasks()->check_preempt_curr()
if this is necessary.

Furthermore, a higher priority class task may be current on dest rq,
we shouldn't disturb it.

Signed-off-by: Kirill Tkhai <ktkhai@parallels.com>
Cc: Juri Lelli <juri.lelli@gmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20140930210441.5258.55054.stgit@localhost
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/sched/fair.c

index dfdcbfde2c5bb9e69ffe6281f2ab53c9885296e4..bd61cff8ee4f795c31c32a2493ed4d58025e4520 100644 (file)
@@ -6701,12 +6701,6 @@ more_balance:
 
                local_irq_restore(flags);
 
-               /*
-                * some other cpu did the load balance for us.
-                */
-               if (cur_ld_moved && env.dst_cpu != smp_processor_id())
-                       resched_cpu(env.dst_cpu);
-
                if (env.flags & LBF_NEED_BREAK) {
                        env.flags &= ~LBF_NEED_BREAK;
                        goto more_balance;