[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CABcWv9_zhQT4ppdVVcx-TQQtqi8W1rx713CYQ_oEXjS0=WwZJg@mail.gmail.com>
Date: Tue, 11 Apr 2023 16:41:02 -0400
From: Tingjia Cao <tjcao980311@...il.com>
To: Vincent Guittot <vincent.guittot@...aro.org>
Cc: mingo@...hat.com, peterz@...radead.org, juri.lelli@...hat.com,
dietmar.eggemann@....com, rostedt@...dmis.org, bsegall@...gle.com,
mgorman@...e.de, bristot@...hat.com, vschneid@...hat.com,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] sched/fair: fix imbalance overflow
Hello Vincent,
Thanks for the reply. The patch also fixes the issue on my side!
Cheers,
Tingjia
On Tue, Apr 11, 2023 at 5:06 AM Vincent Guittot
<vincent.guittot@...aro.org> wrote:
>
> When local group is fully busy but its average load is above system load,
> computing the imbalance will overflow and local group is not the best
> target for pulling this load.
>
> Fixes: 0b0695f2b34a ("sched/fair: Rework load_balance()")
> Reported-by: Tingjia Cao <tjcao980311@...il.com>
> Link: https://lore.kernel.org/lkml/CABcWv9_DAhVBOq2=W=2ypKE9dKM5s2DvoV8-U0+GDwwuKZ89jQ@mail.gmail.com/T/
> Signed-off-by: Vincent Guittot <vincent.guittot@...aro.org>
> ---
>
> Hi Tingjia,
>
> Thanks for the detailed bug report. I have been able to reproduce the problem and this
> patch fixes it on my setup. Could you try it ?
>
> Thanks,
> Vincent
>
> kernel/sched/fair.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index f5da01a6b35a..184b0dbb2a69 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -10209,6 +10209,16 @@ static inline void calculate_imbalance(struct lb_env *env, struct sd_lb_stats *s
>
> sds->avg_load = (sds->total_load * SCHED_CAPACITY_SCALE) /
> sds->total_capacity;
> +
> + /*
> + * If the local group is more loaded than the average system
> + * load, don't try to pull any tasks.
> + */
> + if (local->avg_load >= sds->avg_load) {
> + env->imbalance = 0;
> + return;
> + }
> +
> }
>
> /*
> --
> 2.34.1
>
Powered by blists - more mailing lists