Messages in this thread | | | From | Vincent Guittot <> | Date | Tue, 14 Apr 2020 09:25:00 +0200 | Subject | Re: [PATCH] sched/fair: Simplify the code of should_we_balance() |
| |
On Sat, 11 Apr 2020 at 11:21, Peng Wang <rocking@linux.alibaba.com> wrote: > > 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>
With the small fix in the comment below Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
> --- > kernel/sched/fair.c | 16 +++++----------- > 1 file changed, 5 insertions(+), 11 deletions(-) > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index 1ea3ddd..81b2c647 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -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 balance CPU of this group? */
/* Are we the first CPU of this group ? */
> + return group_balance_cpu(sg) == env->dst_cpu; > } > > /* > -- > 2.9.5 >
| |