Re: CFS: new java yield graphs

From: Ingo Molnar
Date: Thu Sep 27 2007 - 04:35:53 EST

* Antoine Martin <antoine@xxxxxxxxxxxxx> wrote:

> Hash: SHA512
> These are pure cpu scheduling tests, not doing any I/O this time. All
> these tests are still "pathological" in the sense that they are only
> meant to show differences between schedulers rather than try to
> simulate real usage scenarios.

thanks for testing this!

> all the graphs are here:

wow - really nice graphs!

> Legend:
> * 2.6.23-rc6-yield2: "yield2" patch is this one:
> * 2.6.23-rc6-yield2-highlatency is the same patch, but the kernel is
> built without preempt, with HZ100 and the scheduling granularity is
> doubled using sysctl.
> * 2.6.23-rc6-yield3 is CFS-v21 combo3 + the yield patch
> * 2.6.23-rc6-yield4 is this patch (queued for mainline? and in mm?):

wrt. yield4 did you set /proc/sys/kernel/sched_compat_yield to 1?
(with sched_compat_yield at 0, which is the default, nothing

which one would be your favorite kernel? To me yield4 looks pretty good.

> of interest I found:
> * rc6-mm1 is not always fair (see "ManyThreadsYieldOften" tests) - the
> only one to have almost half the threads already finished at the half
> way point when yielding often. Also slower for the "RandomSleep".
> * increasing latency makes a noticeable difference (see "ShortPause")
> it can be more fair, but it also makes it a lot more erratic (see
> "Yield" tests)
> * most changes are only noticeable with a large number for threads (look
> for 'ManyThreads' in the filename)

i'm wondering, how easy would it be for you to test the sched-devel.git
tree? If you havent used git before then first install the 'git'
package, then do:

git-clone git:// linux-2.6.git
cd linux-2.6.git
git-pull git://

> PS: now testing -rc8, also added a test that consumes memory in each
> thread. also now recording context switches and idle time.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at