Re: Scheduler benchmarks - a follow-up

From: Ingo Molnar
Date: Tue Sep 18 2007 - 05:49:11 EST



* Rob Hussey <robjhussey@xxxxxxxxx> wrote:

> On 9/18/07, Ingo Molnar <mingo@xxxxxxx> wrote:
> >
> > * Rob Hussey <robjhussey@xxxxxxxxx> wrote:
> >
> > > The obligatory graphs:
> > > http://www.healthcarelinen.com/misc/benchmarks/BOUND_NOPREEMPT_lat_ctx_benchmark.png
> > > http://www.healthcarelinen.com/misc/benchmarks/BOUND_NOPREEMPT_hackbench_benchmark.png
> > > http://www.healthcarelinen.com/misc/benchmarks/BOUND_NOPREEMPT_pipe-test_benchmark.png
> >
> > btw., it's likely that if you turn off CONFIG_PREEMPT for .21 and for
> > .22-ck1 they'll improve a bit too - so it's not fair to put the .23
> > !PREEMPT numbers on the graph as the PREEMPT numbers of the other
> > kernels. (it shows the .23 scheduler being faster than it really is)
> >
>
> The graphs are really just to show where the new numbers fit in. Plus,
> I was too lazy to run all the numbers again.

yeah - the graphs are completely OK (and they are really nice and
useful), i just wanted to point this out for completeness.

> > the pipe-test behavior looks like an outlier. !PREEMPT only removes
> > code (which makes the code faster), so this could be a cache layout
> > artifact. (or perhaps we preempt at a different point which is
> > disadvantageous to caching?) Pipe-test is equivalent to "lat_ctx -s
> > 0 2" so if there was a genuine slowdown it would show up in the
> > lat_ctx graph - but the graph shows a speedup.
>
> Interestingly, every set of lat_ctx -s 0 2 numbers I run on the
> !PREEMPT kernel are on average higher than with PREEMPT (around 2.84
> for !PREEMPT and 2.4 for PREEMPT). Anything higher than around 2 or 3
> (such as lat_ctx -s 0 8) gives lower average numbers for !PREEMPT.

perhaps this 2 task ping-pong is somehow special in that it manages to
fit into L1 cache much better under PREEMPT than under !PREEMPT.
(usually the opposite is true) At 3 tasks or more things dont fit
anymore (or the special alignment is gone) so the faster !PREEMPT code
wins.

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/