Re: Looping more in detach_tasks() when RT and CFS tasks are present

From: Vincent Guittot
Date: Wed Jun 24 2020 - 08:39:41 EST


Hi Pavan,

On Wed, 24 Jun 2020 at 13:42, Pavan Kondeti <pkondeti@xxxxxxxxxxxxxx> wrote:
>
> Hi Vincent/Peter,
>
> in load_balance(), we derive env->loop_max based on rq->nr_running.
> When the busiest rq has both RT and CFS tasks, we do more loops in
> detach_tasks(). Is there any reason for not using
> rq->cfs.h_nr_running?

Using cfs.h_nr_running seems fine for loop_max

>
> Lei Wen attempted to fix this before.
> https://lore.kernel.org/lkml/1376814322-7320-2-git-send-email-leiwen@xxxxxxxxxxx/

The 1st part of the patch is wrong because even if h_nr_running == 1
but nr_running > 1, we can pull the cfs thread without using active
balance

>
> Thanks,
> Pavan
>
> --
> Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a
> Linux Foundation Collaborative Project