On Mon, 2019-07-29 at 22:05 +0200, Peter Zijlstra wrote:
> 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...Oops indeed. Let me put the shares = assignment back for the !SMP case, and edit that comment. > > 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); > > } -- All Rights Reversed.
signature.asc
Description: This is a digitally signed message part

