Re: [PATCH -v2 03/18] sched/fair: Cure calc_cfs_shares() vs reweight_entity()

2017-09-29 Thread Morten Rasmussen
On Fri, Sep 29, 2017 at 01:38:53PM +0200, Peter Zijlstra wrote: > On Fri, Sep 29, 2017 at 10:04:34AM +0100, Morten Rasmussen wrote: > > > > - load = scale_load_down(cfs_rq->load.weight); > > > + load = max(scale_load_down(cfs_rq->load.weight), cfs_rq->avg.load_avg); > > > > We use

Re: [PATCH -v2 03/18] sched/fair: Cure calc_cfs_shares() vs reweight_entity()

2017-09-29 Thread Morten Rasmussen
On Fri, Sep 29, 2017 at 01:38:53PM +0200, Peter Zijlstra wrote: > On Fri, Sep 29, 2017 at 10:04:34AM +0100, Morten Rasmussen wrote: > > > > - load = scale_load_down(cfs_rq->load.weight); > > > + load = max(scale_load_down(cfs_rq->load.weight), cfs_rq->avg.load_avg); > > > > We use

Re: [PATCH -v2 03/18] sched/fair: Cure calc_cfs_shares() vs reweight_entity()

2017-09-29 Thread Peter Zijlstra
On Fri, Sep 29, 2017 at 10:04:34AM +0100, Morten Rasmussen wrote: > > - load = scale_load_down(cfs_rq->load.weight); > > + load = max(scale_load_down(cfs_rq->load.weight), cfs_rq->avg.load_avg); > > We use cfs_rq->tg_load_avg_contrib (the filtered version of > cfs_rq->avg.load_avg) instead

Re: [PATCH -v2 03/18] sched/fair: Cure calc_cfs_shares() vs reweight_entity()

2017-09-29 Thread Peter Zijlstra
On Fri, Sep 29, 2017 at 10:04:34AM +0100, Morten Rasmussen wrote: > > - load = scale_load_down(cfs_rq->load.weight); > > + load = max(scale_load_down(cfs_rq->load.weight), cfs_rq->avg.load_avg); > > We use cfs_rq->tg_load_avg_contrib (the filtered version of > cfs_rq->avg.load_avg) instead

Re: [PATCH -v2 03/18] sched/fair: Cure calc_cfs_shares() vs reweight_entity()

2017-09-29 Thread Morten Rasmussen
On Fri, Sep 01, 2017 at 03:21:02PM +0200, Peter Zijlstra wrote: > Vincent reported that when running in a cgroup, his root > cfs_rq->avg.load_avg dropped to 0 on task idle. > > This is because reweight_entity() will now immediately propagate the > weight change of the group entity to its cfs_rq,

Re: [PATCH -v2 03/18] sched/fair: Cure calc_cfs_shares() vs reweight_entity()

2017-09-29 Thread Morten Rasmussen
On Fri, Sep 01, 2017 at 03:21:02PM +0200, Peter Zijlstra wrote: > Vincent reported that when running in a cgroup, his root > cfs_rq->avg.load_avg dropped to 0 on task idle. > > This is because reweight_entity() will now immediately propagate the > weight change of the group entity to its cfs_rq,

[PATCH -v2 03/18] sched/fair: Cure calc_cfs_shares() vs reweight_entity()

2017-09-01 Thread Peter Zijlstra
Vincent reported that when running in a cgroup, his root cfs_rq->avg.load_avg dropped to 0 on task idle. This is because reweight_entity() will now immediately propagate the weight change of the group entity to its cfs_rq, and as it happens, our approxmation (5) for calc_cfs_shares() results in 0

[PATCH -v2 03/18] sched/fair: Cure calc_cfs_shares() vs reweight_entity()

2017-09-01 Thread Peter Zijlstra
Vincent reported that when running in a cgroup, his root cfs_rq->avg.load_avg dropped to 0 on task idle. This is because reweight_entity() will now immediately propagate the weight change of the group entity to its cfs_rq, and as it happens, our approxmation (5) for calc_cfs_shares() results in 0