Re: [tip: x86/build] x86/configs: Add x86 debugging Kconfig fragment plus docs

From: Nathan Chancellor
Date: Wed Apr 06 2022 - 14:17:46 EST


On Tue, Apr 05, 2022 at 08:01:55PM -0000, tip-bot2 for Dave Hansen wrote:
> The following commit has been merged into the x86/build branch of tip:
>
> Commit-ID: 9f61ccc85afb061f65dd8ede7b8d4845b2f2dfce
> Gitweb: https://git.kernel.org/tip/9f61ccc85afb061f65dd8ede7b8d4845b2f2dfce
> Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
> AuthorDate: Thu, 31 Mar 2022 10:57:28 -07:00
> Committer: Borislav Petkov <bp@xxxxxxx>
> CommitterDate: Tue, 05 Apr 2022 21:54:04 +02:00
>
> x86/configs: Add x86 debugging Kconfig fragment plus docs
>
> The kernel has a wide variety of debugging options to help catch
> and squash bugs. However, new debugging is added all the time and
> the existing options can be hard to find.
>
> Add a Kconfig fragment with the debugging options which tip
> maintainers expect to be used to test contributions.
>
> This should make it easier for contributors to test their code and
> find issues before submission.
>
> [ bp: Add to "make help" output ]
>
> Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
> Signed-off-by: Borislav Petkov <bp@xxxxxxx>
> Link: https://lore.kernel.org/r/20220331175728.299103A0@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> ---
> Documentation/process/maintainer-tip.rst | 14 ++++++++++++++
> arch/x86/Makefile | 1 +
> kernel/configs/x86_debug.config | 18 ++++++++++++++++++
> 3 files changed, 33 insertions(+)
> create mode 100644 kernel/configs/x86_debug.config
>
> diff --git a/Documentation/process/maintainer-tip.rst b/Documentation/process/maintainer-tip.rst
> index c74f4a8..572a328 100644
> --- a/Documentation/process/maintainer-tip.rst
> +++ b/Documentation/process/maintainer-tip.rst
> @@ -437,6 +437,20 @@ in a private repository which allows interested people to easily pull the
> series for testing. The usual way to offer this is a git URL in the cover
> letter of the patch series.
>
> +Testing
> +^^^^^^^
> +
> +Code should be tested before submitting to the tip maintainers. Anything
> +other than minor changes should be built, booted and tested with
> +comprehensive (and heavyweight) kernel debugging options enabled.
> +
> +These debugging options can be found in kernel/configs/x86_debug.config
> +and can be added to an existing kernel config by running:
> +
> + make x86_debug.config
> +
> +Some of these options are x86-specific and can be left out when testing
> +on other architectures.
>
> Coding style notes
> ------------------
> diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> index 63d50f6..1abd7cc 100644
> --- a/arch/x86/Makefile
> +++ b/arch/x86/Makefile
> @@ -313,5 +313,6 @@ define archhelp
> echo ''
> echo ' kvm_guest.config - Enable Kconfig items for running this kernel as a KVM guest'
> echo ' xen.config - Enable Kconfig items for running this kernel as a Xen guest'
> + echo ' x86_debug.config - Enable tip tree debugging options for testing'
>
> endef
> diff --git a/kernel/configs/x86_debug.config b/kernel/configs/x86_debug.config
> new file mode 100644
> index 0000000..45498c0
> --- /dev/null
> +++ b/kernel/configs/x86_debug.config
> @@ -0,0 +1,18 @@
> +CONFIG_X86_DEBUG_FPU=y
> +CONFIG_LOCK_STAT=y
> +CONFIG_DEBUG_VM=y
> +CONFIG_DEBUG_VM_VMACACHE=y
> +CONFIG_DEBUG_VM_RB=y
> +CONFIG_DEBUG_SLAB=y
> +CONFIG_DEBUG_KMEMLEAK=y
> +CONFIG_DEBUG_PAGEALLOC=y
> +CONFIG_SLUB_DEBUG_ON=y
> +CONFIG_KMEMCHECK=y
> +CONFIG_DEBUG_OBJECTS=y
> +CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
> +CONFIG_GCOV_KERNEL=y
> +CONFIG_LOCKDEP=y
> +CONFIG_PROVE_LOCKING=y
> +CONFIG_SCHEDSTATS=y
> +CONFIG_VMLINUX_VALIDATION=y
> +CONFIG_DEBUG_INFO=y

I am replying to this message versus the original patch because this
appears to be done during committing.

This "CONFIG_DEBUG_INFO=y" will not do anything, as the debug info
Kconfig was turned into a choice in commit f9b3cd245784 ("Kconfig.debug:
make DEBUG_INFO selectable from a choice").

CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y

will do what "CONFIG_DEBUG_INFO=y" used to do.

Cheers,
Nathan