[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20070918094829.GA3809@elte.hu>
Date: Tue, 18 Sep 2007 11:48:29 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Rob Hussey <robjhussey@...il.com>
Cc: linux-kernel@...r.kernel.org, ck@....kolivas.org
Subject: Re: Scheduler benchmarks - a follow-up
* Rob Hussey <robjhussey@...il.com> wrote:
> On 9/18/07, Ingo Molnar <mingo@...e.hu> wrote:
> >
> > * Rob Hussey <robjhussey@...il.com> 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists