Re: [RFC] another scheduler beater

From: Ingo Molnar
Date: Tue Apr 24 2007 - 04:19:11 EST



* Bill Davidsen <davidsen@xxxxxxx> wrote:

> The small attached script does a nice job of showing animation
> glitches in the glxgears animation. I have run one set of tests, and
> will have several more tomorrow. I'm off to a poker game, and would
> like to let people draw their own conclusions.
>
> Based on just this script as load I would say renice on X isn't a good
> thing. Based on one small test, I would say that renice of X in
> conjunction with heavy disk i/o and a single fast scrolling xterm
> (think kernel compile) seems to slow the raid6 thread measurably.
> Results late tomorrow, it will be an early and long day :-(

hm, i'm wondering what you would expect the scheduler to do here?

for this particular test you'll get the best result by renicing X to
+19! Why? Because, as far as i can see this is a partially 'inverted'
test of X's scheduling.

While the script is definitely useful (you taught me that nice xterm
-geom trick to automate the placing of busy xterms :), some caveats do
apply when interpreting the results:

If you have a kernel 3D driver (which you seem to have, judging by the
glxgears numbers you are getting) then running 'glxgears' wont involve X
at all. glxgears just gets its own window and then the kernel driver
draws straight into it, without any side-trips to X. You can see this
for yourself by starting glitch1.sh from an ssh terminal, and then
_totally stop_ the X server via "kill -STOP 12345" - all the xterms will
stop, the X desktop freezes, but the glxgears instance will still
happily draw its stuff and wheels are happily turning on the screen.

So in this sense glxgears is a 'CPU hog' workload, largely independent
of X.

now, by renicing X to -10 and running the xterms you'll definitely hurt
"CPU hogs" - even if it happens to be a glxgears process that draws 3D
graphics in a window provided by X. But this is precisely what is
supposed to happen in this case. You should get the best glxgears
performance by renicing X to _+19_, and that seems to be happening
according to your numbers - and that's what happens in my own testing
too.

Ingo
-
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/