Re: [PATCH 1/3] sched/fair: skip idle cfs_rq

From: Valentin Schneider
Date: Wed Jan 06 2021 - 10:14:27 EST


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.guittot@xxxxxxxxxx>

Makes sense to me.

Reviewed-by: Valentin Schneider <valentin.schneider@xxxxxxx>

> ---
> 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