On Mon, Jul 22, 2019 at 01:33:37PM -0400, Rik van Riel wrote: > @@ -3012,25 +2983,24 @@ static inline int throttled_hierarchy(struct cfs_rq > *cfs_rq); > static void update_cfs_group(struct sched_entity *se) > { > struct cfs_rq *gcfs_rq = group_cfs_rq(se); > - long shares, runnable; > + long shares; > > - if (!gcfs_rq) > + if (!gcfs_rq) { > + update_runnable_load_avg(se); > return; > + } > > if (throttled_hierarchy(gcfs_rq)) > return; > > #ifndef CONFIG_SMP > - runnable = shares = READ_ONCE(gcfs_rq->tg->shares); > - > if (likely(se->load.weight == shares))
I'm thinking this uses @shares uninitialized... > return; > #else > shares = calc_group_shares(gcfs_rq); > - runnable = calc_group_runnable(gcfs_rq, shares); > #endif > > - reweight_entity(cfs_rq_of(se), se, shares, runnable); > + reweight_entity(cfs_rq_of(se), se, shares); > }