Re: [PATCH] Unhide DEBUG_BUGVERBOSE when EXPERT=y, even ifDEBUG_KERNEL=n

From: Ingo Molnar
Date: Sun Jun 05 2011 - 13:32:07 EST



* Josh Triplett <josh@xxxxxxxxxxxxxxxx> wrote:

> On Sun, Jun 05, 2011 at 11:34:45AM +0200, Ingo Molnar wrote:
> >
> > * Josh Triplett <josh@xxxxxxxxxxxxxxxx> wrote:
> >
> > > config DEBUG_BUGVERBOSE
> > > - bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EXPERT
> > > + bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL || EXPERT
> >
> > Well, DEBUG_KERNEL really means two things:
> >
> > - make more debugging options available
> > - allow the *disabling* of existing (default-enabled) debug options
>
> As well as one more: a quick "git grep DEBUG_KERNEL" turns up a few uses
> in actual kernel source code, to control debugging features. Those
> should likely use separately selectable debug options, but they
> currently don't.
>
> ~/src/linux-2.6$ find * -not -name 'Kconfig*' -not -name '*defconfig' | xargs grep -n DEBUG_KERNEL
> arch/parisc/mm/init.c:653:#ifdef CONFIG_DEBUG_KERNEL /* double-sanity-check paranoia */
> arch/powerpc/kernel/sysfs.c:229:#ifdef CONFIG_DEBUG_KERNEL
> arch/powerpc/kernel/sysfs.c:258:#endif /* CONFIG_DEBUG_KERNEL */
> arch/powerpc/kernel/sysfs.c:299:#ifdef CONFIG_DEBUG_KERNEL
> arch/powerpc/kernel/sysfs.c:328:#endif /* CONFIG_DEBUG_KERNEL */
> arch/blackfin/include/asm/entry.h:53:/* As a debugging aid - we save IPEND when DEBUG_KERNEL is on,
> arch/blackfin/include/asm/entry.h:56:# ifndef CONFIG_DEBUG_KERNEL
> arch/blackfin/include/asm/entry.h:65:# else /* CONFIG_DEBUG_KERNEL */
> arch/blackfin/include/asm/entry.h:77:# endif /* CONFIG_DEBUG_KERNEL */
> arch/blackfin/include/asm/context.S:208:#ifdef CONFIG_DEBUG_KERNEL
> drivers/usb/musb/musb_core.c:557: * REVISIT: do delays from lots of DEBUG_KERNEL checks

These are basically just 4 cases out of thousands of drivers, zero in
essence. Also, none seems significant in terms of code size.

> > So i think the right solution would be to select DEBUG_KERNEL if
> > EXPERT is enabled - this would simplify things and would allow the
> > removal of a lot of EXPERT conditions from the debug options.
> >
> > Ok?
>
> I could live with that, as long as CONFIG_DEBUG_KERNEL never
> directly enables any debugging code like it does above, and just
> acts like CONFIG_EXPERT in hiding a pile of unnecessary options.
> DEBUG_KERNEL should probably also have some text saying it doesn't
> actually enable any kernel debugging on its own, once that becomes
> true.

Yeah. I'd suggest you try that route instead of cluttering all of the
debugging Kconfigs with || EXPERT conditions, which doesnt really
look acceptable.

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/