public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [Patch 0/4] Reordering of functions, try 2
@ 2006-02-27 15:23 Arjan van de Ven
  2006-02-27 15:27 ` [Patch 2/4] Basic reorder infrastructure Arjan van de Ven
                   ` (4 more replies)
  0 siblings, 5 replies; 17+ messages in thread
From: Arjan van de Ven @ 2006-02-27 15:23 UTC (permalink / raw)
  To: linux-kernel, torvalds; +Cc: akpm, ak

Hi,


This is the second posting of the function reorder patches.
I've run a series of lmbench (3.0) runs on the patches earlier today on
this set, with the following results (I'll discuss 2 runs, one with the
first 3 patches, and one with all patches)


These are descriptions of the results, since the full lmbench run is a
LOT of numbers; this is the summary of it

1) There is a whole class of tests where it just doesn't matter at all.
In this class are the cpu measurements of FPU ops/second but also the
RAM bandwidth tests and the like. This is fully understandable; these
tests go straight from userspace->hardware, kernel changes don't impact
these.

2) In the "processor/processes" group, 7 tests changed behavior, and the
average of these changes was a performance increase by 10% (!!). The
exception was the signal handling test, which decreased by 6%. This
actually made me feel good, since the original function list was based
on a profile run that didn't do signals much if at all.

The second run (with all 4 patches) showed some fluctuations here but on
average it was in the noise region. Exception to this was the stat test,
which lost half the gain from the first 3 patches. Here also the signals
test lost

3) In the latency group, the 3-patches run is again in the 10% gain
range. Here the 4-patches run shows an additional gain for several of
the tests in the 5% range and for example the af_unix test showed a loss
compared to the 3-patches run




^ permalink raw reply	[flat|nested] 17+ messages in thread
* Re: [Patch 4/4] Tell GCC 4.1 to move unlikely() code to a separate section
@ 2006-02-28  6:34 Chuck Ebbert
  0 siblings, 0 replies; 17+ messages in thread
From: Chuck Ebbert @ 2006-02-28  6:34 UTC (permalink / raw)
  To: Andi Kleen; +Cc: Arjan van de Ven, linux-kernel, Andrew Morton, Linus Torvalds

In-Reply-To: <200602271639.34776.ak@suse.de>

On Mon, 27 Feb 2006 16:39:34, Andi Kleen wrote:
> On Monday 27 February 2006 16:31, Arjan van de Ven wrote:
> > This patch is more controversial I assume; it offers the option 
> > to use the gcc 4.1 option to move unlikely() code to a separate section.
> > On the con side, this means that longer byte sequences are needed to jump
> > to this code, on the Pro side it means that the unlikely() code isn't sharing
> > icache cachelines and tlbs anymore.
> 
> I don't think this will do anything because the default Makefile
> still has
> 
> CFLAGS += -fno-reorder-blocks 

This also won't work for functions that specify an explicit section name,
e.g. __sched, __kprobes etc. -- at least that's what the gcc 4.0.2 docs say.

-- 
Chuck
"Equations are the Devil's sentences."  --Stephen Colbert


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2006-03-10 17:13 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-27 15:23 [Patch 0/4] Reordering of functions, try 2 Arjan van de Ven
2006-02-27 15:27 ` [Patch 2/4] Basic reorder infrastructure Arjan van de Ven
2006-02-27 15:41   ` Andi Kleen
2006-02-27 16:31   ` sam
2006-02-27 17:19     ` Arjan van de Ven
2006-02-28 19:08       ` Sam Ravnborg
2006-03-10  9:45       ` [Patch 2/4] Basic reorder infrastructure - makes linking very slow Andi Kleen
2006-02-27 15:31 ` [Patch 4/4] Tell GCC 4.1 to move unlikely() code to a separate section Arjan van de Ven
2006-02-27 15:39   ` Andi Kleen
2006-02-27 23:33     ` Bill Davidsen
2006-02-27 15:31 ` [Patch 3/4] Move the base kernel to 2Mb to align with TLB boundaries Arjan van de Ven
2006-02-27 15:36   ` Andi Kleen
2006-02-27 15:52     ` Arjan van de Ven
2006-02-27 15:31 ` [Patch 1/4] avoid entry.S functions from reordering Arjan van de Ven
2006-02-27 15:36 ` [Patch 0/4] Reordering of functions, try 2 Andi Kleen
2006-02-27 15:43   ` Arjan van de Ven
  -- strict thread matches above, loose matches on Subject: below --
2006-02-28  6:34 [Patch 4/4] Tell GCC 4.1 to move unlikely() code to a separate section Chuck Ebbert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox