[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080304080335.GA5776@uranus.ravnborg.org>
Date: Tue, 4 Mar 2008 09:03:59 +0100
From: Sam Ravnborg <sam@...nborg.org>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Ingo Molnar <mingo@...e.hu>, Adrian Bunk <bunk@...nel.org>,
Alexey Starikovskiy <aystarik@...il.com>, lenb@...nel.org,
astarikovskiy@...e.de, linux-acpi@...r.kernel.org,
linux-kernel@...r.kernel.org,
Arjan van de Ven <arjan@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>,
"H. Peter Anvin" <hpa@...or.com>
Subject: Re: [patch] x86: phase out forced inlining
On Mon, Mar 03, 2008 at 10:42:31PM -0800, Andrew Morton wrote:
> On Mon, 3 Mar 2008 13:13:35 +0100 Ingo Molnar <mingo@...e.hu> wrote:
>
> > +config OPTIMIZE_INLINING
> > + bool "Allow gcc to uninline functions marked 'inline'"
> > + default y
> > + help
> > + This option determines if the kernel forces gcc to inline the functions
> > + developers have marked 'inline'. Doing so takes away freedom from gcc to
> > + do what it thinks is best, which is desirable for the gcc 3.x series of
> > + compilers. The gcc 4.x series have a rewritten inlining algorithm and
> > + disabling this option will generate a smaller kernel there. Hopefully
> > + this algorithm is so good that allowing gcc4 to make the decision can
> > + become the default in the future, until then this option is there to
> > + test gcc for this.
>
> urgh. This will cause whatever problem
> 4507a6a59cfc6997e532cd812a8bd244181e6205 fixed five years ago to resurface
> for incautious gcc-3.x users.
>
> I'd suggest that this
>
> > +#ifndef CONFIG_OPTIMIZE_INLINING
>
> become something along the lines of
>
> > +#ifndef CONFIG_OPTIMIZE_INLINING && (__GNUC__ > 3)
>
> It would be nice to be able to feed the gcc version into the Kconfig logic,
> really..
We can do this using a few environment options.
Somewhere in a Makefile:
export CC_MAJOR=`magic`
export CC_MINOR=`more magic`
And in a Kconfig file:
config CC_MAJOR
string
option env=CC_MAJOR
And then we can do:
config CC_DEFAULT_INLINE
bool "Force inline of functions annotated inline"
default y if CC_MAJOR = 04
Shall I try to cook up a patch for this?
[I may get access to my dev box tonight - cannot promise..]
Sam
--
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