Re: SD still better than CFS for 3d ?(was Re: 2.6.23-rc1)

From: Ingo Molnar
Date: Sun Jul 29 2007 - 13:07:13 EST



* Kasper Sandberg <lkml@xxxxxxxxxxx> wrote:

> Im still not so keen about this, Ingo never did get CFS to match SD in
> smoothness for 3d applications, where my test subjects are quake(s),
> world of warcraft via wine, unreal tournament 2004. [...]

here's an update: checking whether Wine could be a factor in your
problem i just tested latest CFS against latest SD with a 3D game
running under Wine: v2.6.22-ck1 versus v2.6.22-cfsv19 (to get the
most comparable kernel), using Quake 3 Arena Demo under Wine (0.9.41).
Here are the results in a pretty graph:

http://people.redhat.com/mingo/misc/cfs-vs-sd-wine-quake.jpg

or, in text:

2.6.22-ck1 2.6.22-cfs-v19
------------------------ ------------------------
quake + 0 loops | 41 fps quake + 0 loops | 41 fps
quake + 1 loop | 3 fps quake + 1 loop | 41 fps
quake + 2 loops | 2 fps quake + 2 loops | 32 fps
quake + 3 loops | 1 fps quake + 3 loops | 24 fps
quake + 4 loops | 0 fps quake + 4 loops | 20 fps
quake + 5 loops | 0 fps quake + 5 loops | 16 fps

Quake3-under-Wine behavior under SD/-ck: framerate breaks down massively
during any kind of load. The game is completely unusable with 1 CPU loop
running already!

Quake3-under-Wine behavior under CFS: framerate goes down gently with
load, gameplay remains smooth. Framerate is still pretty acceptable and
the game is playable even with a 500% CPU overload. The graph looks good
and the framerate reduction goes roughly along the expected 1/n
'fairness curve' - so it all looks pretty healthy. [Note: quake3 keeps
its fully 41 fps even with 1 competing loop running on the CPU due to
"sleeper fairness".]

[ i've re-tested this using other SD and ck versions and other CFS
versions such as v2.6.23-rc1 and the results are the same. To get the
fps result i started a simple game scene: Single Player /
Q3DM1 / I Can Win, turned on the fps display of Quake3, and did not
move the player at all, just looked at the framerate that is
displayed. (i also tried other scenes and other gameplay sections and
they all behave consistently with the above results.) The system was
otherwise completely idle. While i trust these numbers take them with
a grain of salt, i'm obviously not neutral in this thing :-) ]

so Kasper, i'll definitely need your help in tracking down your 3D
smoothness problem under CFS. I have the feeling that it could be some
odd factor that only hits your system, and once we've tracked that down
there will be a simple solution that does not affect the totality of the
scheduler. So far only you have reported any 3D game smoothness problem
against recent CFS versions. (all 3D feedback has been positive, and
that includes a number of gamers as well. Most of the 3D smoothness
problems were fixed in CFS v13..v15 and it has not been reported to have
regressed since then.)

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/