Re: Kernel 4.7rc3 - Performance drop 30-40% for SPECjbb2005 and SPECjvm2008 benchmarks against 4.6 kernel

From: Peter Zijlstra
Date: Fri Jun 24 2016 - 09:42:53 EST


On Fri, Jun 24, 2016 at 02:44:07PM +0200, Vincent Guittot wrote:
> > --- 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;
>
> IIUC, you are reverting
> commit fde7d22e01aa (sched/fair: Fix overly small weight for
> interactive group entities)

Hurm.. looking at that commit again, that seems to wreck
effective_load(), since that doesn't compensate.

Maybe I'll remove calc_tg_weight and open code its slightly different
usages in the two sites.