Re: [PATCH v4] sched/fair: Correctly insert cfs_rq's to list on unthrottle

From: Michal Koutný
Date: Tue Jun 08 2021 - 12:39:48 EST


Hello.

On Fri, Jun 04, 2021 at 12:23:14PM +0200, Odin Ugedal <odin@xxxxxxx> wrote:

> @@ -4719,8 +4738,8 @@ static int tg_unthrottle_up(struct task_group *tg, void *data)
> cfs_rq->throttled_clock_task_time += rq_clock_task(rq) -
> cfs_rq->throttled_clock_task;
>
> - /* Add cfs_rq with already running entity in the list */
> - if (cfs_rq->nr_running >= 1)
> + /* Add cfs_rq with load or one or more already running entities to the list */
> + if (!cfs_rq_is_decayed(cfs_rq) || cfs_rq->nr_running)
> list_add_leaf_cfs_rq(cfs_rq);
> }

Can there be a decayed cfs_rq with positive nr_running?
I.e. can the condition be simplified to just the decayed check?

(I'm looking at account_entity_enqueue() but I don't know if an entity's
weight can be zero in some singular cases.)

Thanks,
Michal

Attachment: signature.asc
Description: Digital signature