Re: [PATCH 2/3] sched/fair: Add load_weight->runnable_load_{sum|avg}

From: Dietmar Eggemann
Date: Fri May 05 2017 - 09:22:19 EST


Hi Tejun,

On 04/05/17 21:29, Tejun Heo wrote:
> Currently, runnable_load_avg, which represents the portion of load avg
> only from tasks which are currently active, is tracked by cfs_rq but
> not by sched_entity. We want to propagate runnable_load_avg of a
> nested cfs_rq without affecting load_avg propagation. To implement an
> equivalent propagation channel, sched_entity needs to track
> runnable_load_avg too.
>
> This patch moves cfs_rq->runnable_load_{sum|avg} into struct
> load_weight which is already used to track load_avg and shared by both
> cfs_rq and sched_entity.
>
> This patch only changes where runnable_load_{sum|avg} are located and
> doesn't cause any actual behavior changes. The fields are still only
> used for cfs_rqs.

This one doesn't apply cleanly on tip/sched/core. There has been a lot
of changes in the actual PELT code.

e.g.
a481db34b9be - sched/fair: Optimize ___update_sched_avg() (2017-03-30
Yuyang Du)
0ccb977f4c80 - sched/fair: Explicitly generate __update_load_avg()
instances (2017-03-30 Peter Zijlstra)

I stitch this up locally to be able to run some tests.

[...]