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 <[email protected]> > --- > 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) <[email protected]>
