Re: [PATCH] Clarify CONFIG_DEBUG_INFO's bloaty nature

From: Ingo Molnar
Date: Tue Feb 04 2014 - 04:08:44 EST



* David Rientjes <rientjes@xxxxxxxxxx> wrote:

> On Mon, 3 Feb 2014, Andrew Morton wrote:
>
> > > > How do you define "huge bloat" if the size of vmlinux doesn't increase?
> > >
> > > Don't be silly. The size of all the object files increase *hugely*.
> >
> > yup, I disable this in my allmodconfig testing, to great effect.
> >
> > That being said, I do think the text should make clear that the bloat
> > is a compile-time impact and not a runtime one. Something like
> >
> > --- a/lib/Kconfig.debug~lib-kconfigdebug-clarify-config_debug_infos-bloaty-nature-fix
> > +++ a/lib/Kconfig.debug
> > @@ -128,9 +128,9 @@ config DEBUG_INFO
> > tools like crash, kgdb, LKCD, gdb, etc on the kernel.
> >
> > If you only want to have resolved symbols in kernel traces and
> > - are not going to need support for those tools above, you don't need
> > - to enable this as it is a huge bloat and build slowdown;
> > - enable CONFIG_KALLSYMS instead.
> > + are not going to need support for the above tools, you don't need
> > + to enable this. It hugely bloat object files' on-disk sizes and slows
> > + the build. Enable CONFIG_KALLSYMS instead.
> >
> > If unsure, say N.
> >
>
> Um, I still don't think this is right since
> CONFIG_DEBUG_INFO_REDUCED requires you to say yes here and that
> config option actually specifies the tools for which it is
> effective. Are you suggesting that we decouple CONFIG_DEBUG_INFO
> from CONFIG_DEBUG_INFO_REDUCED and make CONFIG_DEBUG_INFO select the
> reduced variant? Or... what?

I think the right solution is what I suggested in another recent
discussion:

"So to reign in debuginfo in allyesconfig/allmodconfig builds we could
do something like:

config SAVE_TIME_AND_DISK_SPACE
bool "Faster and leaner build object files: compile without debug info"
default y

choice
prompt "Choose DEBUGINFO bloat level"
depends on !SAVE_TIME_AND_DISK_SPACE
default DEBUG_INFO_REDUCED
help
This option allows to select the debuginfo model.

config DEBUG_INFO_REDUCED
bool "Reduced amount of debugging information, 4x regular .o size"

config DEBUG_INFO
bool "Full debuginfo, 10x regular .o size, 'planet killer' version"

endchoice

That would default to Y and would disable debuginfo by default."

Thanks,

Ingo

--
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/