2008-10-11 13:30:22

by Sitsofe Wheeler

[permalink] [raw]
Subject: Help text for config OPTIMIZE_INLINING

The main help text for the OPTIMIZE_INLINING kconfig option says:
"The gcc 4.x series have a rewritten inlining algorithm and disabling this option will generate a smaller kernel there."

That suggests that to generate a smaller kernel one should set the option to n. However the short text says:
"Allow gcc to uninline functions marked 'inline'"

While suggests that one should set it to y to generate smaller kernels. My own experience says that setting it to y DOES generate a smaller kernel so perhaps the main text should be changed to reflect this?


Sitsofe | http://sucs.org/~sits/




2008-10-11 14:37:17

by Ingo Molnar

[permalink] [raw]
Subject: Re: Help text for config OPTIMIZE_INLINING


* Sitsofe Wheeler <[email protected]> wrote:

> The main help text for the OPTIMIZE_INLINING kconfig option says: "The
> gcc 4.x series have a rewritten inlining algorithm and disabling this
> option will generate a smaller kernel there."
>
> That suggests that to generate a smaller kernel one should set the
> option to n. However the short text says: "Allow gcc to uninline
> functions marked 'inline'"
>
> While suggests that one should set it to y to generate smaller
> kernels. My own experience says that setting it to y DOES generate a
> smaller kernel so perhaps the main text should be changed to reflect
> this?

sure, could you send a patch (with lkml Cc:-ed) that does this?

Also, would be nice if you sent with/without vmlinux size numbers for
the config you are using. Btw., do you have
CONFIG_CC_OPTIMIZE_FOR_SIZE=y enabled as well? That too shrinks the
kernel (which speeds it up as well on moder CPUs), quite visibly.

Ingo

2008-10-11 19:05:20

by Sitsofe Wheeler

[permalink] [raw]
Subject: Re: Help text for config OPTIMIZE_INLINING

> From: Ingo Molnar <[email protected]>

>
> * Sitsofe Wheeler wrote:
>
> > While [this] suggests that one should set it to y to generate smaller
> > kernels. My own experience says that setting it to y DOES generate a
> > smaller kernel so perhaps the main text should be changed to reflect
> > this?
>
> sure, could you send a patch (with lkml Cc:-ed) that does this?

Will do (I won't send it via Yahoo mail though because it will be mangled).

> Also, would be nice if you sent with/without vmlinux size numbers for
> the config you are using. Btw., do you have

5463127 2008-10-11 19:51 vmlinux.no-opt
5456152 2008-10-11 19:56 vmlinux.opt

So about 6975 bytes smaller. This is a config which is vastly cut down, compiler was gcc version 4.1.2 20070925 (Red Hat 4.1.2-33) on Fedora 8.

> CONFIG_CC_OPTIMIZE_FOR_SIZE=y enabled as well? That too shrinks the
> kernel (which speeds it up as well on moder CPUs), quite visibly.

In the past I've tried it out but it seemed to make my crude benchmark (glxgears) go slower...