Re: [announce] CFS-devel, performance improvements

Roman Zippel
2007-09-14T12:04:14Z

Hi,

On Thu, 13 Sep 2007, Peter Zijlstra wrote:

> On Thu, 2007-09-13 at 18:50 +0200, Roman Zippel wrote:
>
> > I never claimed to understand every detail of CFS, I can _guess_ what
> > _might_ have been intended, but from that it's impossible to know for
> > certain how important they are. Let's take this patch fragment:
> >
>
> delta_fair = se->delta_fair_sleep;
>
> we slept that much
>
> > - /*
> > - * Fix up delta_fair with the effect of us running
> > - * during the whole sleep period:
> > - */
> > - if (sched_feat(SLEEPER_AVG))
> > - delta_fair = div64_likely32((u64)delta_fair * load,
> > - load + se->load.weight);
>
> if we would have ran we would not have been removed from the rq and the
> weight would have been: rq_weight + weight
>
> so compensate for us having been removed from the rq by scaling the
> delta with: rq_weight/(rq_weight + weight)
>
> > - delta_fair = calc_weighted(delta_fair, se);
>
> scale for nice levels

AFAICT the compensation part is already done by the scaling part, without
the load part it largely mirrors what __update_stats_wait_end() does, i.e.
it gets the same time as other tasks, which have been on the rq.

bye, Roman