Re: BFS vs. mainline scheduler benchmarks and measurements

From: Nikos Chantziaras
Date: Wed Sep 09 2009 - 04:35:08 EST


On 09/09/2009 09:13 AM, Ingo Molnar wrote:

* Jens Axboe<jens.axboe@xxxxxxxxxx> wrote:

On Tue, Sep 08 2009, Peter Zijlstra wrote:
On Tue, 2009-09-08 at 11:13 +0200, Jens Axboe wrote:
And here's a newer version.

I tinkered a bit with your proglet and finally found the
problem.

You used a single pipe per child, this means the loop in
run_child() would consume what it just wrote out until it got
force preempted by the parent which would also get woken.

This results in the child spinning a while (its full quota) and
only reporting the last timestamp to the parent.

Oh doh, that's not well thought out. Well it was a quick hack :-)
Thanks for the fixup, now it's at least usable to some degree.

What kind of latencies does it report on your box?

Our vanilla scheduler default latency targets are:

single-core: 20 msecs
dual-core: 40 msecs
quad-core: 60 msecs
opto-core: 80 msecs

You can enable CONFIG_SCHED_DEBUG=y and set it directly as well via
/proc/sys/kernel/sched_latency_ns:

echo 10000000> /proc/sys/kernel/sched_latency_ns

I've tried values ranging from 10000000 down to 100000. This results in the stalls/freezes being a bit shorter, but clearly still there. It does not eliminate them.

If there's anything else I can try/test, I would be happy to do so.
--
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/