1# Help: Debugging for CI systems and finding regressions 2# 3# The config is based on running daily CI for enterprise Linux distros to 4# seek regressions on linux-next builds on different bare-metal and virtual 5# platforms. It can be used for example, 6# 7# $ make ARCH=arm64 defconfig debug.config 8# 9# Keep alphabetically sorted inside each section. 10# 11# printk and dmesg options 12# 13CONFIG_DEBUG_BUGVERBOSE=y 14CONFIG_DYNAMIC_DEBUG=y 15CONFIG_PRINTK_CALLER=y 16CONFIG_PRINTK_TIME=y 17CONFIG_SYMBOLIC_ERRNAME=y 18# 19# Compile-time checks and compiler options 20# 21CONFIG_DEBUG_INFO=y 22CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y 23CONFIG_DEBUG_SECTION_MISMATCH=y 24CONFIG_FRAME_WARN=2048 25CONFIG_SECTION_MISMATCH_WARN_ONLY=y 26# 27# Generic Kernel Debugging Instruments 28# 29# CONFIG_UBSAN_ALIGNMENT is not set 30# CONFIG_UBSAN_DIV_ZERO is not set 31# CONFIG_UBSAN_TRAP is not set 32CONFIG_DEBUG_FS=y 33CONFIG_DEBUG_FS_ALLOW_ALL=y 34CONFIG_DEBUG_IRQFLAGS=y 35CONFIG_UBSAN=y 36CONFIG_UBSAN_BOOL=y 37CONFIG_UBSAN_BOUNDS=y 38CONFIG_UBSAN_ENUM=y 39CONFIG_UBSAN_SHIFT=y 40CONFIG_UBSAN_UNREACHABLE=y 41# 42# Networking Debugging 43# 44CONFIG_NET_DEV_REFCNT_TRACKER=y 45CONFIG_NET_NS_REFCNT_TRACKER=y 46CONFIG_DEBUG_NET=y 47# 48# Memory Debugging 49# 50# CONFIG_DEBUG_PAGEALLOC is not set 51# CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF is not set 52# CONFIG_DEBUG_RODATA_TEST is not set 53# CONFIG_DEBUG_WX is not set 54# CONFIG_KFENCE is not set 55# CONFIG_PAGE_POISONING is not set 56# CONFIG_SLUB_STATS is not set 57CONFIG_PAGE_EXTENSION=y 58CONFIG_PAGE_OWNER=y 59CONFIG_DEBUG_KMEMLEAK=y 60CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN=y 61CONFIG_DEBUG_OBJECTS=y 62CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 63CONFIG_DEBUG_OBJECTS_FREE=y 64CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y 65CONFIG_DEBUG_OBJECTS_RCU_HEAD=y 66CONFIG_DEBUG_OBJECTS_TIMERS=y 67CONFIG_DEBUG_OBJECTS_WORK=y 68CONFIG_DEBUG_PER_CPU_MAPS=y 69CONFIG_DEBUG_STACK_USAGE=y 70CONFIG_DEBUG_VIRTUAL=y 71CONFIG_DEBUG_VM=y 72CONFIG_DEBUG_VM_PGFLAGS=y 73CONFIG_DEBUG_VM_RB=y 74CONFIG_DEBUG_VM_VMACACHE=y 75CONFIG_KASAN=y 76CONFIG_KASAN_GENERIC=y 77CONFIG_KASAN_INLINE=y 78CONFIG_KASAN_VMALLOC=y 79CONFIG_PTDUMP_DEBUGFS=y 80CONFIG_SCHED_STACK_END_CHECK=y 81CONFIG_SLUB_DEBUG_ON=y 82# 83# Debug Oops, Lockups and Hangs 84# 85CONFIG_BOOTPARAM_HUNG_TASK_PANIC=0 86CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=0 87CONFIG_DEBUG_ATOMIC_SLEEP=y 88CONFIG_DETECT_HUNG_TASK=y 89CONFIG_PANIC_ON_OOPS=y 90CONFIG_PANIC_TIMEOUT=0 91CONFIG_SOFTLOCKUP_DETECTOR=y 92# 93# Lock Debugging (spinlocks, mutexes, etc...) 94# 95# CONFIG_PROVE_RAW_LOCK_NESTING is not set 96CONFIG_PROVE_LOCKING=y 97# 98# Debug kernel data structures 99# 100CONFIG_BUG_ON_DATA_CORRUPTION=y 101# 102# RCU Debugging 103# 104CONFIG_RCU_EXPERT=y 105CONFIG_PROVE_RCU=y 106CONFIG_PROVE_RCU_LIST=y 107# 108# Tracers 109# 110CONFIG_BRANCH_PROFILE_NONE=y 111CONFIG_DYNAMIC_FTRACE=y 112CONFIG_FTRACE=y 113CONFIG_FUNCTION_TRACER=y 114# 115# Preemption 116# 117CONFIG_DEBUG_PREEMPT=y 118CONFIG_PREEMPT=y 119