Re: [patch 00/2] improve .text size on gcc 4.0 and newer compilers

Kurt Wall
2005-12-31T03:50:14Z

On Fri, Dec 30, 2005 at 03:03:22AM +0100, Tim Schmielau took 0 lines to write:

> http://www.physik3.uni-rostock.de/tim/kernel/2.6/deinline.patch.gz
> The resulting kernel actually booted (am running it right now). However,
> catching just these low-hanging fruits doesn't get me anywhere near
> Arjan's numbers. For my non-representative personal config I get (on
> i386 with -unit-at-a-time):
>
> > size vmlinux*
> text data bss dec hex filename
> 2197105 386568 316840 2900513 2c4221 vmlinux
> 2144453 392100 316840 2853393 2b8a11 vmlinux.deinline

For two more datapoints, also from an x86_64 2.6.15-rc7 kernel, here
are the values for my main desktop .config and an allyesconfig .config.
The .deinline kernels have the above patch applied and are also built
with CONFIG_CC_OPTIMIZE_FOR_SIZE=y.

$ size vmlinux.krw*
text data bss dec hex filename
2338371 462208 479920 3280499 320e73 vmlinux.krw
2309384 468168 479920 3257472 31b480 vmlinux.krw.deinline

.text is only 1.24% smaller

For an allyesconfig, the results are slightly worse:

$ size vmlinux*
text data bss dec hex filename
24076648 7465782 1996904 33539334 1ffc506 vmlinux
23791161 7513590 1996904 33301655 1fc2497 vmlinux.deinline

.text is only 1.19% smaller

Kurt
--
Nothing cures insomnia like the realization that it's time to get up.