Re: [patch] sched: yield debugging

Tim Chen
2007-07-30T20:04:35Z

On Sun, 2007-07-29 at 19:37 +0200, Ingo Molnar wrote:
> Tim,
>
> * Tim Chen <tim.c.chen@linux.intel.com> wrote:
>

>
> Could you try the patch below? It does not change the default behavior
> of yield but introduces 2 other yield strategies which you can activate
> runtime (if CONFIG_SCHED_DEBUG=y) via:
>
> # default one:
> echo 0 > /proc/sys/kernel/sched_yield_bug_workaround
>
> # always queues the current task next to the next task:
> echo 1 > /proc/sys/kernel/sched_yield_bug_workaround
>
> # NOP:
> echo 2 > /proc/sys/kernel/sched_yield_bug_workaround
>
> does variant '1' improve Java's VolanoMark performance perhaps?
>

Here's a summary of Volanomark performance numbers:
Variant 0 is 80% down from 2.6.22
Variant 1 is 20% down from 2.6.22 (this is indeed helped)
Variant 2 is 89% down from 2.6.22

> i'm also wondering, which JDK is this, and where does Java make use of
> sys_sched_yield()? It's a voefully badly defined (and thus unreliable)
> system call, IMO Java should stop using it ASAP and use a saner locking
> model.

I am using a JRockit JDK.

Thanks.
Tim