On Tue, 8 Jun 2021 at 18:39, Michal Koutný <mkoutny@xxxxxxxx> wrote: > > 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? Yes, nothing prevent a task with a null load to be enqueued on a throttle cfs as an example > > (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