Re: [PATCH 2/2 v4] sched: Rewrite per entity runnable load average tracking

From: Peter Zijlstra
Date: Wed Jul 30 2014 - 04:30:29 EST

On Wed, Jul 30, 2014 at 06:27:52AM +0800, Yuyang Du wrote:
> On Tue, Jul 29, 2014 at 03:17:29PM +0200, Vincent Guittot wrote:
> > >>
> > >> IMHO, we should apply the same policy than the one i mentioned for
> > >> task. So the load_avg of an entity or a cfs_rq will not be disturbed
> > >> by an old but no more valid weight
> > >>
> > >
> > > Well, I see your point. But the problem is what matters is load_avg vs. load_avg, not a
> > > load_avg itself. So, if load_avg1 discards old weight if weight is changed, but load_avg2
> > > has no weight changed or has weight changed, the comparison load_avg1 vs. load_avg2 is not
> > > fair, but too impacted by the new weight. The point is, we count in history, so connt in the
> > > real history, which is the whole point of why we count the history. Make sense?
> >
> > IIUC, you want to soften the impact of weight change on cfs_rq-> load_avg ?
> >
> Yes, that would be the effect.
> Isn't the entire effort starting from PJT and Ben up to now to soften the extremely
> dynamic changes (runnable or not, weight change, etc)? Assume task does not change
> weight much, but group entity does as Peter mentioned.

No, softening isn't the point at all. But an integrator is the only
means of predicting the future given the erratic past.

The whole point we got into this game is to better compute per cpu group
weights, not to soften stuff, that's just a necessarily evil to more
accurately predict erratic/unknown behaviour.

Attachment: pgp5GfdL3x1js.pgp
Description: PGP signature