sched/fair: Simplify the code of should_we_balance()
We only consider group_balance_cpu() after there is no idle cpu. So, just do comparison before return at these two cases. Signed-off-by: Peng Wang <rocking@linux.alibaba.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Valentin Schneider <valentin.schneider@arm.com> Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org> Link: https://lkml.kernel.org/r/245c792f0e580b3ca342ad61257f4c066ee0f84f.1586594833.git.rocking@linux.alibaba.com
This commit is contained in:
parent
ab93a4bc95
commit
64297f2b03
|
@ -9413,7 +9413,7 @@ static int active_load_balance_cpu_stop(void *data);
|
|||
static int should_we_balance(struct lb_env *env)
|
||||
{
|
||||
struct sched_group *sg = env->sd->groups;
|
||||
int cpu, balance_cpu = -1;
|
||||
int cpu;
|
||||
|
||||
/*
|
||||
* Ensure the balancing environment is consistent; can happen
|
||||
|
@ -9434,18 +9434,12 @@ static int should_we_balance(struct lb_env *env)
|
|||
if (!idle_cpu(cpu))
|
||||
continue;
|
||||
|
||||
balance_cpu = cpu;
|
||||
break;
|
||||
/* Are we the first idle CPU? */
|
||||
return cpu == env->dst_cpu;
|
||||
}
|
||||
|
||||
if (balance_cpu == -1)
|
||||
balance_cpu = group_balance_cpu(sg);
|
||||
|
||||
/*
|
||||
* First idle CPU or the first CPU(busiest) in this sched group
|
||||
* is eligible for doing load balancing at this and above domains.
|
||||
*/
|
||||
return balance_cpu == env->dst_cpu;
|
||||
/* Are we the first CPU of this group ? */
|
||||
return group_balance_cpu(sg) == env->dst_cpu;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue