Commit | Line | Data |
---|---|---|
feec5e1f KC |
1 | # Help: Debugging for CI systems and finding regressions |
2 | # | |
0aaa8977 QC |
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 | # | |
13 | CONFIG_DEBUG_BUGVERBOSE=y | |
14 | CONFIG_DYNAMIC_DEBUG=y | |
15 | CONFIG_PRINTK_CALLER=y | |
16 | CONFIG_PRINTK_TIME=y | |
17 | CONFIG_SYMBOLIC_ERRNAME=y | |
18 | # | |
19 | # Compile-time checks and compiler options | |
20 | # | |
8208257d | 21 | CONFIG_DEBUG_INFO=y |
d1eff16d | 22 | CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y |
0aaa8977 QC |
23 | CONFIG_DEBUG_SECTION_MISMATCH=y |
24 | CONFIG_FRAME_WARN=2048 | |
25 | CONFIG_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 | |
32 | # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set | |
33 | CONFIG_DEBUG_FS=y | |
34 | CONFIG_DEBUG_FS_ALLOW_ALL=y | |
35 | CONFIG_DEBUG_IRQFLAGS=y | |
36 | CONFIG_UBSAN=y | |
37 | CONFIG_UBSAN_BOOL=y | |
38 | CONFIG_UBSAN_BOUNDS=y | |
39 | CONFIG_UBSAN_ENUM=y | |
40 | CONFIG_UBSAN_SHIFT=y | |
41 | CONFIG_UBSAN_UNREACHABLE=y | |
42 | # | |
3738d710 MBN |
43 | # Networking Debugging |
44 | # | |
45 | CONFIG_NET_DEV_REFCNT_TRACKER=y | |
46 | CONFIG_NET_NS_REFCNT_TRACKER=y | |
47 | CONFIG_DEBUG_NET=y | |
48 | # | |
0aaa8977 QC |
49 | # Memory Debugging |
50 | # | |
51 | # CONFIG_DEBUG_PAGEALLOC is not set | |
52 | # CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF is not set | |
53 | # CONFIG_DEBUG_RODATA_TEST is not set | |
54 | # CONFIG_DEBUG_WX is not set | |
55 | # CONFIG_KFENCE is not set | |
56 | # CONFIG_PAGE_POISONING is not set | |
57 | # CONFIG_SLUB_STATS is not set | |
58 | CONFIG_PAGE_EXTENSION=y | |
59 | CONFIG_PAGE_OWNER=y | |
60 | CONFIG_DEBUG_KMEMLEAK=y | |
61 | CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN=y | |
62 | CONFIG_DEBUG_OBJECTS=y | |
63 | CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 | |
64 | CONFIG_DEBUG_OBJECTS_FREE=y | |
65 | CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y | |
66 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=y | |
67 | CONFIG_DEBUG_OBJECTS_TIMERS=y | |
68 | CONFIG_DEBUG_OBJECTS_WORK=y | |
69 | CONFIG_DEBUG_PER_CPU_MAPS=y | |
70 | CONFIG_DEBUG_STACK_USAGE=y | |
71 | CONFIG_DEBUG_VIRTUAL=y | |
72 | CONFIG_DEBUG_VM=y | |
73 | CONFIG_DEBUG_VM_PGFLAGS=y | |
74 | CONFIG_DEBUG_VM_RB=y | |
75 | CONFIG_DEBUG_VM_VMACACHE=y | |
76 | CONFIG_GENERIC_PTDUMP=y | |
77 | CONFIG_KASAN=y | |
78 | CONFIG_KASAN_GENERIC=y | |
79 | CONFIG_KASAN_INLINE=y | |
80 | CONFIG_KASAN_VMALLOC=y | |
81 | CONFIG_PTDUMP_DEBUGFS=y | |
82 | CONFIG_SCHED_STACK_END_CHECK=y | |
83 | CONFIG_SLUB_DEBUG_ON=y | |
84 | # | |
85 | # Debug Oops, Lockups and Hangs | |
86 | # | |
87 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | |
88 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | |
89 | CONFIG_DEBUG_ATOMIC_SLEEP=y | |
90 | CONFIG_DETECT_HUNG_TASK=y | |
91 | CONFIG_PANIC_ON_OOPS=y | |
92 | CONFIG_PANIC_TIMEOUT=0 | |
93 | CONFIG_SOFTLOCKUP_DETECTOR=y | |
94 | # | |
95 | # Lock Debugging (spinlocks, mutexes, etc...) | |
96 | # | |
97 | # CONFIG_PROVE_RAW_LOCK_NESTING is not set | |
98 | CONFIG_PROVE_LOCKING=y | |
99 | # | |
100 | # Debug kernel data structures | |
101 | # | |
102 | CONFIG_BUG_ON_DATA_CORRUPTION=y | |
103 | # | |
104 | # RCU Debugging | |
105 | # | |
106 | CONFIG_PROVE_RCU=y | |
107 | CONFIG_PROVE_RCU_LIST=y | |
108 | # | |
109 | # Tracers | |
110 | # | |
111 | CONFIG_BRANCH_PROFILE_NONE=y | |
112 | CONFIG_DYNAMIC_FTRACE=y | |
113 | CONFIG_FTRACE=y | |
114 | CONFIG_FUNCTION_TRACER=y |