Re: CFS review

From: Mike Galbraith
Date: Fri Aug 10 2007 - 03:23:50 EST


On Fri, 2007-08-10 at 01:14 +0200, Roman Zippel wrote:
> Hi,

Greetings,

> On Wed, 1 Aug 2007, Ingo Molnar wrote:
>
> > just to make sure, how does 'top' output of the l + "lt 3" testcase look
> > like now on your laptop? Yesterday it was this:
> >
> > 4544 roman 20 0 1796 520 432 S 32.1 0.4 0:21.08 lt
> > 4545 roman 20 0 1796 344 256 R 32.1 0.3 0:21.07 lt
> > 4546 roman 20 0 1796 344 256 R 31.7 0.3 0:21.07 lt
> > 4547 roman 20 0 1532 272 216 R 3.3 0.2 0:01.94 l
> >
> > and i'm still wondering how that output was possible.
>
> I disabled the jiffies logic and the result is still the same, so this
> problem isn't related to resolution at all.
> I traced it a little and what's happing is that the busy loop really only
> gets little time, it only runs inbetween the timer tasks. When the timer
> task is woken up __enqueue_sleeper() updates sleeper_bonus and a little
> later when the busy loop is preempted __update_curr() is called a last
> time and it's fully hit by the sleeper_bonus. So the timer tasks use less
> time than they actually get and thus produce overflows, the busy loop OTOH
> is punished and underflows.

I still can't reproduce this here. Can you please send your .config, so
I can try again with a config as close to yours as possible?

-Mike

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/