From: Dietmar Eggemann <dietmar.eggem...@arm.com>

Skip cpu as a potential src (costliest) in case it has only one task
running and its original capacity is greater than or equal to the
original capacity of the dst cpu.

cc: Ingo Molnar <mi...@redhat.com>
cc: Peter Zijlstra <pet...@infradead.org>

Signed-off-by: Dietmar Eggemann <dietmar.eggem...@arm.com>
---
 kernel/sched/fair.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 4849bad..b6e2e92 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -7251,6 +7251,10 @@ static struct rq *find_busiest_queue(struct lb_env *env,
                        };
                        unsigned long energy = sched_group_energy(&eenv);
 
+                       if (rq->nr_running == 1 && capacity_orig_of(i) >=
+                                       capacity_orig_of(env->dst_cpu))
+                               continue;
+
                        /*
                         * We're looking for the minimal cpu efficiency
                         * min(u_i / e_i), crosswise multiplication leads to
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to