Re: [REGRESSION] Recent change to kernel spikes out ccache/distcc

From: Sam Ravnborg
Date: Wed Jan 07 2009 - 15:05:28 EST


On Wed, Jan 07, 2009 at 01:48:03PM +0000, Jan Beulich wrote:
> >>> Sam Ravnborg <sam@xxxxxxxxxxxx> 07.01.09 14:23 >>>
> >On Wed, Jan 07, 2009 at 12:35:09PM +0000, Jan Beulich wrote:
> >> >>> Sam Ravnborg <sam@xxxxxxxxxxxx> 07.01.09 12:31 >>>
> >> >What is the gain/pain ratio here?
> >>
> >> Certainly depends on the pov - it reduces the kernel module (disk) image
> >> sizes quite a bit, so from a distro perspective its a move against the ever
> >> growing package sizes (and the disk space) hundreds or even thousands
> >> of modules require.
> >
> >The kernel modules seldom export anything so the benefit is minimal here.
>
> Not really, for highly modular distro kernels.
>
> >I did a 15 minutes hack to try ripping the .c -> .s -> .o stuff out.
>
> Looks good to me. In case you decide to revert the stuff for .29, I'll
> merge this into my patch.
As it stand now it:
1) breaks sparc32 build
2) causes regression with distcc/ccache use when MODVERSIONS are enabled
3) the concept is under discussion

So I will have to revert it somehow.
I will look into during a partial revert though as your patches had some stuff
in them I like to keep or which does not harm (genksyms change for instance).

>
> >Jan - I need some hard numbers to convince me that stripping the
> >__crc symbols is worth it.
>
> The on-disk size of the modules in my builds is reduced by about 5% with
> this patch (but I can't immediately tell how much of this is due to __crc_*
> vs. other symbol stripping).

But if only on-disk size is your primary concern then another patch
of Jan Engelhardt would be a bigger win:

build: install modules compressed
---
scripts/Makefile.modinst | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst
index efa5d94..c3421a1 100644
--- a/scripts/Makefile.modinst
+++ b/scripts/Makefile.modinst
@@ -17,7 +17,7 @@ __modinst: $(modules)
@:

quiet_cmd_modules_install = INSTALL $@
- cmd_modules_install = mkdir -p $(2); cp $@ $(2) ; $(mod_strip_cmd) \
$(2)/$(notdir $@)
+ cmd_modules_install = mkdir -p $(2); cp $@ $(2) ; \
$(mod_strip_cmd) $(2)/$(notdir $@); gzip -9f $(2)/$(notdir $@)
# Modules built outside the kernel source tree go into extra by default
INSTALL_MOD_DIR ?= extra


(cut'n'paste so will not apply direct)

It does not decrease the size of vmlinux but the > 1000 modules are compressed.

The patch will in some form be present in kbuild-next.git when I open up
for that.

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/