[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0709141352430.1817@scrub.home>
Date: Fri, 14 Sep 2007 14:04:28 +0200 (CEST)
From: Roman Zippel <zippel@...ux-m68k.org>
To: Peter Zijlstra <a.p.zijlstra@...llo.nl>
cc: Ingo Molnar <mingo@...e.hu>, linux-kernel@...r.kernel.org,
Mike Galbraith <efault@....de>
Subject: Re: [announce] CFS-devel, performance improvements
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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists