Messages in this thread Patch in this message | | | From | Morten Rasmussen <> | Subject | [RFCv3 PATCH 45/48] sched: Skip cpu as lb src which has one task and capacity gte the dst cpu | Date | Wed, 4 Feb 2015 18:31:22 +0000 |
| |
From: Dietmar Eggemann <dietmar.eggemann@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 <mingo@redhat.com> cc: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Dietmar Eggemann <dietmar.eggemann@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
| |