Re: [PATCH 1/2] sched/fair: Fix how load gets propagated from cfs_rq to its sched_entity

From: Peter Zijlstra
Date: Mon May 01 2017 - 10:53:50 EST


On Mon, May 01, 2017 at 04:17:33PM +0200, Peter Zijlstra wrote:

> So this here does:
>
> ( tg->load_avg = \Sum cfs_rq->load_avg )
>
> load = cfs_rq->load.weight
>
> tg_weight = tg->load_avg - cfs_rq->contrib + load
>
>
> tg->shares * load
> shares = -----------------
> tg_weight
>
>
> cfs_rq->load_avg
> avg_shares = shares * ----------------
> load
>
> tg->shares * cfs_rq->load_avg
> = -----------------------------
> tg_weight
>
>
> ( se->load.weight = shares )
>
> se->load_avg = min(shares, avg_shares);

I wonder though; do we really need the min() ? Can't we simply use
avg_shares all the time?