2006-01-10 20:57:07

by Adrian Bunk

[permalink] [raw]
Subject: [2.6 patch] arch/s390/Makefile: remove -finline-limit=10000

-finline-limit might have been required for older compilers, but
nowadays it does no longer make sense.


Signed-off-by: Adrian Bunk <[email protected]>

--- linux-2.6.15-mm2-full/arch/s390/Makefile.old 2006-01-08 16:25:53.000000000 +0100
+++ linux-2.6.15-mm2-full/arch/s390/Makefile 2006-01-08 16:25:59.000000000 +0100
@@ -67,7 +67,6 @@
endif

CFLAGS += -mbackchain -msoft-float $(cflags-y)
-CFLAGS += $(call cc-option,-finline-limit=10000)
CFLAGS += -pipe -fno-strength-reduce -Wno-sign-compare
AFLAGS += $(aflags-y)



2006-01-11 09:22:13

by Martin Schwidefsky

[permalink] [raw]
Subject: Re: [2.6 patch] arch/s390/Makefile: remove -finline-limit=10000

On Tue, 2006-01-10 at 21:57 +0100, Adrian Bunk wrote:
> -finline-limit might have been required for older compilers, but
> nowadays it does no longer make sense.

I didn't check the effects of reverting to the default inline-limit, did
you find any negative impacts? I'm thinking about the critical code
paths e.g. minor faults. There better should not be an additional
function call that would have been inlined with the bigger inline limit,
since function calls are quite expensive on s390.

--
blue skies,
Martin

Martin Schwidefsky
Linux for zSeries Development & Services
IBM Deutschland Entwicklung GmbH


2006-01-11 19:57:21

by David Miller

[permalink] [raw]
Subject: Re: [2.6 patch] arch/s390/Makefile: remove -finline-limit=10000

From: Martin Schwidefsky <[email protected]>
Date: Wed, 11 Jan 2006 10:21:20 +0100

> On Tue, 2006-01-10 at 21:57 +0100, Adrian Bunk wrote:
> > -finline-limit might have been required for older compilers, but
> > nowadays it does no longer make sense.
>
> I didn't check the effects of reverting to the default inline-limit, did
> you find any negative impacts? I'm thinking about the critical code
> paths e.g. minor faults. There better should not be an additional
> function call that would have been inlined with the bigger inline limit,
> since function calls are quite expensive on s390.

You need to be careful now that -Os is specified by default
in 2.6.x

The inline-limit GCC option is interpreted differently in
gcc-4.x when -Os is given vs. when it is not.

On Sparc this caused schedule() to be inlined (I'm not kidding)
which caused all kinds of troubles.

I highly recommed you don't specify it and let the compiler
make the decisions, and add inline tags to places where you
think it is hyper-important for inlining to occur.