Re: [PATCH v1 00/10] Optimize sched avgs computation and implement flat util hierarchy

From: Vincent Guittot
Date: Tue Aug 23 2016 - 10:46:24 EST


On 23 August 2016 at 16:13, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> On Tue, Aug 23, 2016 at 03:28:19PM +0200, Vincent Guittot wrote:
>> I still wonder if using a flat util hierarchy is the right solution to
>> solve this problem with utilization and task group. I have noticed
>> exact same issues with load that generates weird task placement
>> decision and i think that we should probably try to solve both wrong
>> behavior with same mechanism. but this is not possible with flat
>> hierarchy for load
>>
>> Let me take an example.
>> TA is a always running task on CPU1 in group /root/level1/
>> TB wakes up on CPU0 and moves TA into group /root/level2/
>> Even if TA stays on CPU1, runnable_load_avg of CPU1 root cfs rq will become 0.
>
> Because while we migrate the load_avg on /root/level2, we do not
> propagate the load_avg up the hierarchy?

yes. At now, the load of a cfs_rq and the load of its sched_entity
that represents it at parent level are disconnected

>
> And always propagating everyrthing up will indeed also fix the
> utilization issue.
>
> Of course, doing that propagation has its costs..

yes, that's the counterpart

>
> Didn't you post a patch doing just this a while ago?

My patch was doing that but only for utilization and i have start to
work on adding the propagation of load as well