On 06/01/21 14:34, Vincent Guittot wrote:
> Don't waste time checking whether an idle cfs_rq could be the busiest
> queue. Furthermore, this can end up selecting a cfs_rq with a high load
> but being idle in case of migrate_load.
>
> Signed-off-by: Vincent Guittot <vincent.guit...@linaro.org>

Makes sense to me.

Reviewed-by: Valentin Schneider <valentin.schnei...@arm.com>

> ---
>  kernel/sched/fair.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 04a3ce20da67..5428b8723e61 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -9389,8 +9389,11 @@ static struct rq *find_busiest_queue(struct lb_env 
> *env,
>               if (rt > env->fbq_type)
>                       continue;
>  
> -             capacity = capacity_of(i);
>               nr_running = rq->cfs.h_nr_running;
> +             if (!nr_running)
> +                     continue;
> +
> +             capacity = capacity_of(i);
>  
>               /*
>                * For ASYM_CPUCAPACITY domains, don't pick a CPU that could
> -- 
> 2.17.1

Reply via email to