[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070828164507.GA2969@elte.hu>
Date: Tue, 28 Aug 2007 18:45:07 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Al Boldi <a1426z@...ab.com>, Peter Zijlstra <peterz@...radead.org>,
Mike Galbraith <efault@....de>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org
Subject: Re: CFS review
* Linus Torvalds <torvalds@...ux-foundation.org> wrote:
> On Tue, 28 Aug 2007, Al Boldi wrote:
> >
> > I like your analysis, but how do you explain that these stalls
> > vanish when __update_curr is disabled?
>
> It's entirely possible that what happens is that the X scheduling is
> just a slightly unstable system - which effectively would turn a small
> scheduling difference into a *huge* visible difference.
i think it's because disabling __update_curr() in essence removes the
ability of scheduler to preempt tasks - that hack in essence results in
a non-scheduler. Hence the gears + X pair of tasks becomes a synchronous
pair of tasks in essence - and thus gears cannot "overload" X.
Normally gears + X is an asynchronous pair of tasks, with gears (or
xperf, or devel versions of firefox, etc.) not being throttled at all
and thus being able to overload/spam the X server with requests. (And we
generally want to _reward_ asynchronity and want to allow tasks to
overlap each other and we want each task to go as fast and as parallel
as it can.)
Eventually X's built-in "bad, abusive client" throttling code kicks in,
which, AFAIK is pretty crude and might yield to such artifacts. But ...
it would be nice for an X person to confirm - and in any case i'll try
Al's workload - i thought i had a reproducer but i barked up the wrong
tree :-) My laptop doesnt run with the vesa driver, so i have no easy
reproducer for now.
( also, it would be nice if Al could try rc4 plus my latest scheduler
tree as well - just on the odd chance that something got fixed
meanwhile. In particular Mike's sleeper-bonus-limit fix could be
related. )
Ingo
-
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