Re: [PATCH v2] powerpc/configs: Add debug configs for debugging
From: Mukesh Kumar Chaurasiya
Date: Mon Aug 31 2026 - 00:59:11 EST
On Thu, Aug 27, 2026 at 05:43:08PM +0530, Gautam Menghani wrote:
> Kernel has multiple config options to run extra validation checks that
> can help catch bugs. Define new configs for major subsystems to
> make it easy to enable the debug config options for a given area.
>
> Signed-off-by: Gautam Menghani <gautam@xxxxxxxxxxxxx>
> ---
> v1 -> v2:
> 1. Split the enablement of configs into pseries and powernv configs.
>
> arch/powerpc/Makefile | 32 ++++++++++++++++++++++++
> arch/powerpc/configs/common_debug.config | 11 ++++++++
> arch/powerpc/configs/locks_debug.config | 13 ++++++++++
> arch/powerpc/configs/lockup_debug.config | 4 +++
> arch/powerpc/configs/mm_debug.config | 24 ++++++++++++++++++
> 5 files changed, 84 insertions(+)
> create mode 100644 arch/powerpc/configs/common_debug.config
> create mode 100644 arch/powerpc/configs/locks_debug.config
> create mode 100644 arch/powerpc/configs/lockup_debug.config
> create mode 100644 arch/powerpc/configs/mm_debug.config
>
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index 9385db478c59..818aacace875 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -352,6 +352,38 @@ ppc64_randconfig:
> $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/64-bit.config \
> -f $(srctree)/Makefile randconfig
>
> +generated_configs += pseries_debug_defconfig
> +pseries_debug_defconfig:
> + $(call merge_into_defconfig,ppc64_defconfig,le guest kvm_guest common_debug)
> +
> +generated_configs += pseries_locks_debug_defconfig
> +pseries_locks_debug_defconfig:
> + $(call merge_into_defconfig,ppc64_defconfig,le guest kvm_guest locks_debug)
> +
> +generated_configs += pseries_mm_debug_defconfig
> +pseries_mm_debug_defconfig:
> + $(call merge_into_defconfig,ppc64_defconfig,le guest kvm_guest mm_debug)
> +
> +generated_configs += pseries_lockup_debug_defconfig
> +pseries_lockup_debug_defconfig:
> + $(call merge_into_defconfig,ppc64_defconfig,le guest kvm_guest lockup_debug)
> +
> +generated_configs += powernv_debug_defconfig
> +powernv_debug_defconfig:
> + $(call merge_into_defconfig,powernv_defconfig,le guest kvm_guest common_debug)
> +
> +generated_configs += powernv_locks_debug_defconfig
> +powernv_locks_debug_defconfig:
> + $(call merge_into_defconfig,powernv_defconfig,le guest kvm_guest locks_debug)
> +
> +generated_configs += powernv_mm_debug_defconfig
> +powernv_mm_debug_defconfig:
> + $(call merge_into_defconfig,powernv_defconfig,le guest kvm_guest mm_debug)
> +
> +generated_configs += powernv_lockup_debug_defconfig
> +powernv_lockup_debug_defconfig:
> + $(call merge_into_defconfig,powernv_defconfig,le guest kvm_guest lockup_debug)
> +
> PHONY += $(generated_configs)
>
> define archhelp
> diff --git a/arch/powerpc/configs/common_debug.config b/arch/powerpc/configs/common_debug.config
> new file mode 100644
> index 000000000000..a341c8b41468
> --- /dev/null
> +++ b/arch/powerpc/configs/common_debug.config
> @@ -0,0 +1,11 @@
> +# For use in CI testing
> +CONFIG_EXPERT=y
> +CONFIG_PROVE_LOCKING=y
> +CONFIG_PROVE_RCU=y
> +CONFIG_KASAN=y
> +CONFIG_UBSAN=y
> +CONFIG_DEBUG_PAGEALLOC=y
> +CONFIG_DEBUG_VM=y
> +CONFIG_DEBUG_OBJECTS=y
> +CONFIG_DEBUG_KMEMLEAK=y
> +CONFIG_DEBUG_STACKOVERFLOW=y
> diff --git a/arch/powerpc/configs/locks_debug.config b/arch/powerpc/configs/locks_debug.config
> new file mode 100644
> index 000000000000..b2cb23de75db
> --- /dev/null
> +++ b/arch/powerpc/configs/locks_debug.config
> @@ -0,0 +1,13 @@
> +CONFIG_EXPERT=y
> +CONFIG_PROVE_LOCKING=y
> +CONFIG_DEBUG_LOCK_ALLOC=y
> +CONFIG_DEBUG_ATOMIC_SLEEP=y
> +CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
> +CONFIG_DEBUG_MUTEXES=y
> +CONFIG_DEBUG_SPINLOCK=y
> +CONFIG_DEBUG_RT_MUTEXES=y
> +CONFIG_DEBUG_RWSEMS=y
> +CONFIG_PROVE_RAW_LOCK_NESTING=y
> +CONFIG_RCU_EXPERT=y
> +CONFIG_PROVE_RCU=y
> +CONFIG_RCU_TRACE=y
> diff --git a/arch/powerpc/configs/lockup_debug.config b/arch/powerpc/configs/lockup_debug.config
> new file mode 100644
> index 000000000000..ad0a79abf60f
> --- /dev/null
> +++ b/arch/powerpc/configs/lockup_debug.config
> @@ -0,0 +1,4 @@
> +CONFIG_EXPERT=y
> +CONFIG_WQ_WATCHDOG=y
> +CONFIG_DETECT_HUNG_TASK=y
> +CONFIG_PANIC_ON_OOPS=y
> diff --git a/arch/powerpc/configs/mm_debug.config b/arch/powerpc/configs/mm_debug.config
> new file mode 100644
> index 000000000000..0e88eb983536
> --- /dev/null
> +++ b/arch/powerpc/configs/mm_debug.config
> @@ -0,0 +1,24 @@
> +CONFIG_EXPERT=y
> +CONFIG_DEBUG_PAGEALLOC=y
> +CONFIG_DEBUG_SLAB=y
> +CONFIG_KASAN=y
> +CONFIG_KFENCE=y
> +CONFIG_KMSAN=y
> +CONFIG_DEBUG_KMEMLEAK=y
> +CONFIG_DEBUG_VM=y
> +CONFIG_DEBUG_VIRTUAL=y
> +CONFIG_DEBUG_OBJECTS=y
> +CONFIG_DEBUG_OBJECTS_FREE=y
> +CONFIG_DEBUG_OBJECTS_TIMERS=y
> +CONFIG_DEBUG_OBJECTS_WORK=y
> +CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
> +CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
> +CONFIG_SCHED_STACK_END_CHECK=y
> +CONFIG_DEBUG_VM_MAPLE_TREE=y
> +CONFIG_DEBUG_VM_RB=y
> +CONFIG_DEBUG_VM_PGFLAGS=y
> +CONFIG_DEBUG_MEMORY_INIT=y
> +CONFIG_DEBUG_PER_CPU_MAPS=y
> +CONFIG_DEBUG_KMAP_LOCAL=y
> +CONFIG_DEBUG_HIGHMEM=y
> +CONFIG_DEBUG_STACKOVERFLOW=y
> --
> 2.54.0
>
Thanks Gautam for this. we'll be able to catch a lot of issues earlier
with this.
Reviewed-by: Mukesh Kumar Chaurasiya (IBM) <mkchauras@xxxxxxxxx>