--- zzzz-none-000/linux-4.4.271/lib/Kconfig.debug 2021-06-03 06:22:09.000000000 +0000 +++ hawkeye-5590-750/linux-4.4.271/lib/Kconfig.debug 2023-04-19 10:22:30.000000000 +0000 @@ -445,6 +445,12 @@ percpu counter routines to track the life time of percpu counter objects and validate the percpu counter operations. +config DEBUG_OBJECTS_SKBUFF + bool "Debug sk_buff allocations" + depends on DEBUG_OBJECTS + help + Enable this to turn on debugging of sk_buff's (incl. recycler) + config DEBUG_OBJECTS_ENABLE_DEFAULT int "debug_objects bootup default value (0-1)" range 0 1 @@ -461,6 +467,23 @@ allocation as well as poisoning memory on free to catch use of freed memory. This can make kmalloc/kfree-intensive workloads much slower. +config DEBUG_SLAB_DOUBLE_FREE + bool "SLAB double free check enabled" + depends on DEBUG_KERNEL && SLAB && !DEBUG_SLAB + default y + help + Say Y here if you hit BUG or BUG_ON in slab.c, to find the problem. + This makes kmalloc/kfree-intensive workloads only a little bit slower. + +config DEBUG_SLAB_AVM_LITE + + bool "SLAB store caller and time for memoryleak-analyzing on oom" + depends on DEBUG_KERNEL && SLAB && DEBUG_SLAB_DOUBLE_FREE && AVM_KERNEL + default y + help + Say Y if you want per-caller-and-time-history for kmallocs + the overhead (cpu-run/memory) is VERY small + config DEBUG_SLAB_LEAK bool "Memory leak debugging" depends on DEBUG_SLAB @@ -670,12 +693,38 @@ If in doubt, say "N". +config DEBUG_MEM_USAGE + bool "Track memory usage selectively" + source "lib/Kconfig.kmemcheck" source "lib/Kconfig.kasan" endmenu # "Memory Debugging" +config ARCH_HAS_KCOV + bool + help + KCOV does not have any arch-specific code, but currently it is enabled + only for x86_64. KCOV requires testing on other archs, and most likely + disabling of instrumentation for some early boot code. + +config KCOV + bool "Code coverage for fuzzing" + depends on ARCH_HAS_KCOV + select DEBUG_FS + select GCC_PLUGINS + select GCC_PLUGIN_SANCOV + help + KCOV exposes kernel code coverage information in a form suitable + for coverage-guided fuzzing (randomized testing). + + If RANDOMIZE_BASE is enabled, PC values will not be stable across + different machines and across reboots. If you need stable PC values, + disable RANDOMIZE_BASE. + + For more details, see Documentation/kcov.txt. + config DEBUG_SHIRQ bool "Debug shared IRQ handlers" depends on DEBUG_KERNEL @@ -1863,3 +1912,37 @@ source "lib/Kconfig.kgdb" +config STOPWATCH + bool + prompt "API to measure time elapsed between two events" + default n + help + This feature provides APIs to measure time elaspsed between any two + events with nanosecond precision. Multiple samples can be collected + by calling the STOPWATCH_(START/STOP) APIs. The min, avg and max + values of all the samples can be viewed at /proc/stopwatch/. + The counters are reset everytime the file is viewed. + + If in doubt, say N here. + +config STOPWATCH_SOFT_IRQ + bool + depends on STOPWATCH + prompt "Measure soft IRQ processing time using stopwatch" + default n + help + Measure the time taken to process each soft IRQ. + The values can be viewed at /proc/stopwatch/softirq + + If in doubt, say N here. + +config STOPWATCH_HARD_IRQ + bool + depends on STOPWATCH + prompt "Measure hard IRQ processing time using stopwatch" + default n + help + Measure the time taken to process each hard IRQ. + The values can be viewed at /proc/stopwatch/hardirq + + If in doubt, say N here.