Unhide DEBUG_BUGVERBOSE when EXPERT=y, even if DEBUG_KERNEL=n
PATCH 1/1 Unhide DEBUG_BUGVERBOSE when EXPERT=y, even if DEBUG_KERNEL=n
CONFIG_DEBUG_BUGVERBOSE defaults to y. Embedded systems might want to disable this to save space; however, disabling it requires enabling CONFIG_DEBUG_KERNEL to see it. Unhide it for CONFIG_EXPERT=y as well, so it shows up as an option for embedded users without having to turn on CONFIG_DEBUG_KERNEL.
Also make the option show up if CONFIG_DEBUG_KERNEL=y and CONFIG_EXPERT=n, which seems sensible for a debug feature.
---
To me, it seemed highly counterintuitive to have to enable CONFIG_DEBUG_KERNEL in order to *disable* debugging features; hence this patch to expose one of the two that defaults to y.
lib/Kconfig.debug | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
lib/Kconfig.debug +1 -1
@@ -694,7 +694,7 @@ config DEBUG_HIGHMEM Disable for production systems. config DEBUG_BUGVERBOSE - bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EXPERT + bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL || EXPERT depends on BUG depends on ARM || AVR32 || M32R || M68K || SPARC32 || SPARC64 || \ FRV || SUPERH || GENERIC_BUG || BLACKFIN || MN10300 || TILE
Signature · 1 line
1.7.5.3
lib/Kconfig.debug config DEBUG_HIGHMEM · line 697
Quoted 3 lines · Josh Triplett
config
DEBUG_BUGVERBOSElib/Kconfig.debug +1
-1- 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
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?
Thanks,
Ingo
Quoted 11 lines · Ingo Molnar
lib/Kconfig.debug config DEBUG_HIGHMEM · line 697
Quoted 3 lines · Josh Triplett
config
DEBUG_BUGVERBOSElib/Kconfig.debug +1
-1- bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EXPERT + bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL || EXPERTWell,
DEBUG_KERNELreally 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_KERNELdrivers/usb/musb/musb_core.c:557: * REVISIT: do delays from lots of DEBUG_KERNEL checks
Quoted 5 lines
So i think the right solution would be to select
DEBUG_KERNELif 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.
- Josh Triplett
Quoted 18 lines · Josh Triplett
Quoted 11 lines · Ingo Molnar
lib/Kconfig.debug config DEBUG_HIGHMEM · line 697
Quoted 3 lines · Josh Triplett
config
DEBUG_BUGVERBOSElib/Kconfig.debug +1
-1- bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EXPERT + bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL || EXPERTWell,
DEBUG_KERNELreally means two things:- make more debugging options available
- allow the *disabling* of existing (default-enabled) debug optionsAs 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.
Quoted 12 lines
~/src/linux-2.6$ find * -not -name 'Kconfig*' -not -name '*defconfig' | xargs grep -n
DEBUG_KERNELarch/parisc/mm/init.c:653:#ifdefCONFIG_DEBUG_KERNEL/* double-sanity-check paranoia */ arch/powerpc/kernel/sysfs.c:229:#ifdefCONFIG_DEBUG_KERNELarch/powerpc/kernel/sysfs.c:258:#endif /*CONFIG_DEBUG_KERNEL*/ arch/powerpc/kernel/sysfs.c:299:#ifdefCONFIG_DEBUG_KERNELarch/powerpc/kernel/sysfs.c:328:#endif /*CONFIG_DEBUG_KERNEL*/ arch/blackfin/include/asm/entry.h:53:/* As a debugging aid - we save IPEND whenDEBUG_KERNELis on, arch/blackfin/include/asm/entry.h:56:# ifndefCONFIG_DEBUG_KERNELarch/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:#ifdefCONFIG_DEBUG_KERNELdrivers/usb/musb/musb_core.c:557: * REVISIT: do delays from lots ofDEBUG_KERNELchecks
These are basically just 4 cases out of thousands of drivers, zero in essence. Also, none seems significant in terms of code size.
Quoted 4 lines
Quoted 4 lines
So i think the right solution would be to select
DEBUG_KERNELif EXPERT is enabled - this would simplify things and would allow the removal of a lot of EXPERT conditions from the debug options.
Quoted 8 lines
Quoted 1 line
Ok?
I could live with that, as long as
CONFIG_DEBUG_KERNELnever directly enables any debugging code like it does above, and just acts likeCONFIG_EXPERTin hiding a pile of unnecessary options.DEBUG_KERNELshould 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
Quoted 31 lines · Ingo Molnar
Quoted 17 lines · Josh Triplett
Quoted 10 lines · Ingo Molnar
lib/Kconfig.debug config DEBUG_HIGHMEM · line 697
Quoted 3 lines · Josh Triplett
config
DEBUG_BUGVERBOSElib/Kconfig.debug +1
-1- bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EXPERT + bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL || EXPERTWell,
DEBUG_KERNELreally means two things:- make more debugging options available
- allow the *disabling* of existing (default-enabled) debug optionsAs 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.Quoted 12 lines
~/src/linux-2.6$ find * -not -name 'Kconfig*' -not -name '*defconfig' | xargs grep -n
DEBUG_KERNELarch/parisc/mm/init.c:653:#ifdefCONFIG_DEBUG_KERNEL/* double-sanity-check paranoia */ arch/powerpc/kernel/sysfs.c:229:#ifdefCONFIG_DEBUG_KERNELarch/powerpc/kernel/sysfs.c:258:#endif /*CONFIG_DEBUG_KERNEL*/ arch/powerpc/kernel/sysfs.c:299:#ifdefCONFIG_DEBUG_KERNELarch/powerpc/kernel/sysfs.c:328:#endif /*CONFIG_DEBUG_KERNEL*/ arch/blackfin/include/asm/entry.h:53:/* As a debugging aid - we save IPEND whenDEBUG_KERNELis on, arch/blackfin/include/asm/entry.h:56:# ifndefCONFIG_DEBUG_KERNELarch/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:#ifdefCONFIG_DEBUG_KERNELdrivers/usb/musb/musb_core.c:557: * REVISIT: do delays from lots ofDEBUG_KERNELchecks
Quoted 2 lines
These are basically just 4 cases out of thousands of drivers, zero in essence. Also, none seems significant in terms of code size.
Sure, but they still need fixing.
Quoted 13 lines
Quoted 4 lines
Quoted 4 lines
So i think the right solution would be to select
DEBUG_KERNELif EXPERT is enabled - this would simplify things and would allow the removal of a lot of EXPERT conditions from the debug options.Quoted 8 lines
Quoted 1 line
Ok?
I could live with that, as long as
CONFIG_DEBUG_KERNELnever directly enables any debugging code like it does above, and just acts likeCONFIG_EXPERTin hiding a pile of unnecessary options.DEBUG_KERNELshould probably also have some text saying it doesn't actually enable any kernel debugging on its own, once that becomes true.
Quoted 3 lines
Yeah. I'd suggest you try that route instead of cluttering all of the debugging Kconfigs with || EXPERT conditions, which doesnt really look acceptable.
In fairness, I didn't plan to add it to more than two. :)
Nonetheless, patch shortly.
- Josh Triplett