Re: [PATCH 2/2] sched/fair: Always propagate runnable_load_avg

From: Vincent Guittot
Date: Thu May 04 2017 - 04:20:24 EST

On 3 May 2017 at 23:49, Tejun Heo <tj@xxxxxxxxxx> wrote:
> On Wed, May 03, 2017 at 03:09:38PM +0200, Peter Zijlstra wrote:
>> On Wed, May 03, 2017 at 12:37:37PM +0200, Vincent Guittot wrote:
>> > On 3 May 2017 at 11:37, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>> > > Of course, it could be I overlooked something, in which case, please
>> > > tell :-)
>> >
>> > That's mainly based on the regression i see on my platform. I haven't
>> > find the root cause of the regression but it's there which means that
>> > using group_entity's load_avg to propagate child cfs_rq
>> > runnable_load_avg breaks something
>> (as mentioned on IRC)
>> Right.. so looking through the code, (group) se->avg.load_avg is used in
>> effective_load() (and thereby wake_affine()) and update_cfs_rq_h_load()
>> (and therefore task_h_load()).
>> So changing it will affect those two functions, which could well lead to
>> your regression.
> Ah, okay, that makes sense. I'll try to finish the patch to propagate
> runnable without affecting group se->avg.load_avg. BTW, Vincent, did
> you boost the weight of the cgroup when you were testing? If you put

I use default group weight

> schbench inside a cgroup and have some base load, it is actually
> expected to show worse latency. You need to give higher weight to the
> cgroup matching the number of active threads (to be accruate, scaled
> by duty cycle but shouldn't matter too much in practice).

I don't have to change anything cgroup weight with mainline to get
good number which means that the base load which is quite close to
null, is probably not the problem

> Thanks.
> --
> tejun