Re: [patch] x86: phase out forced inlining

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxx> 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-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux