On Tue, Aug 23, 2016 at 04:13:41PM +0200, Peter Zijlstra 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? > > And always propagating everyrthing up will indeed also fix the > utilization issue.
Yes, but for util it's actually irrespective to the number of hirarchical levels, just propagating directly to the top cfs_rq or simply rq will do. In other words, it's flat :) > Of course, doing that propagation has its costs.. > > Didn't you post a patch doing just this a while ago?