Messages in this thread | | | From | Jirka Hladky <> | Date | Fri, 24 Jun 2016 14:09:30 +0200 | Subject | Re: Kernel 4.7rc3 - Performance drop 30-40% for SPECjbb2005 and SPECjvm2008 benchmarks against 4.6 kernel |
| |
Thank you Peter!
Should I apply it to v4.7-rc4 ?
Jirka
On Fri, Jun 24, 2016 at 2:02 PM, Peter Zijlstra <peterz@infradead.org> wrote: > On Fri, Jun 24, 2016 at 09:44:41AM +0200, Jirka Hladky wrote: >> Hi Peter, >> >> thanks a lot for looking into it! >> >> I have tried to disable autogroups >> >> sysctl -w kernel.sched_autogroup_enabled=0 >> >> and I can confirm that performance is then back at level as in 4.6 kernel. > > So unless the heat has made me do really silly things, the below seems > to cure things. Could you please verify? > > > --- > kernel/sched/fair.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index 22d64b3f5876..d4f6fb2f3057 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -2484,7 +2484,7 @@ static inline long calc_tg_weight(struct task_group *tg, struct cfs_rq *cfs_rq) > */ > tg_weight = atomic_long_read(&tg->load_avg); > tg_weight -= cfs_rq->tg_load_avg_contrib; > - tg_weight += cfs_rq->load.weight; > + tg_weight += cfs_rq->avg.load_avg; > > return tg_weight; > } > @@ -2494,7 +2494,7 @@ static long calc_cfs_shares(struct cfs_rq *cfs_rq, struct task_group *tg) > long tg_weight, load, shares; > > tg_weight = calc_tg_weight(tg, cfs_rq); > - load = cfs_rq->load.weight; > + load = cfs_rq->avg.load_avg; > > shares = (tg->shares * load); > if (tg_weight)
| |