diff options
Diffstat (limited to 'lib/Kconfig.debug')
-rw-r--r-- | lib/Kconfig.debug | 47 |
1 files changed, 40 insertions, 7 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index c6e854f215fa..23067ab1a73c 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug | |||
@@ -300,7 +300,7 @@ config DEBUG_OBJECTS_ENABLE_DEFAULT | |||
300 | 300 | ||
301 | config DEBUG_SLAB | 301 | config DEBUG_SLAB |
302 | bool "Debug slab memory allocations" | 302 | bool "Debug slab memory allocations" |
303 | depends on DEBUG_KERNEL && SLAB | 303 | depends on DEBUG_KERNEL && SLAB && !KMEMCHECK |
304 | help | 304 | help |
305 | Say Y here to have the kernel do limited verification on memory | 305 | Say Y here to have the kernel do limited verification on memory |
306 | allocation as well as poisoning memory on free to catch use of freed | 306 | allocation as well as poisoning memory on free to catch use of freed |
@@ -312,7 +312,7 @@ config DEBUG_SLAB_LEAK | |||
312 | 312 | ||
313 | config SLUB_DEBUG_ON | 313 | config SLUB_DEBUG_ON |
314 | bool "SLUB debugging on by default" | 314 | bool "SLUB debugging on by default" |
315 | depends on SLUB && SLUB_DEBUG | 315 | depends on SLUB && SLUB_DEBUG && !KMEMCHECK |
316 | default n | 316 | default n |
317 | help | 317 | help |
318 | Boot with debugging on by default. SLUB boots by default with | 318 | Boot with debugging on by default. SLUB boots by default with |
@@ -336,6 +336,38 @@ config SLUB_STATS | |||
336 | out which slabs are relevant to a particular load. | 336 | out which slabs are relevant to a particular load. |
337 | Try running: slabinfo -DA | 337 | Try running: slabinfo -DA |
338 | 338 | ||
339 | config DEBUG_KMEMLEAK | ||
340 | bool "Kernel memory leak detector" | ||
341 | depends on DEBUG_KERNEL && EXPERIMENTAL && (X86 || ARM) && \ | ||
342 | !MEMORY_HOTPLUG | ||
343 | select DEBUG_SLAB if SLAB | ||
344 | select SLUB_DEBUG if SLUB | ||
345 | select DEBUG_FS if SYSFS | ||
346 | select STACKTRACE if STACKTRACE_SUPPORT | ||
347 | select KALLSYMS | ||
348 | help | ||
349 | Say Y here if you want to enable the memory leak | ||
350 | detector. The memory allocation/freeing is traced in a way | ||
351 | similar to the Boehm's conservative garbage collector, the | ||
352 | difference being that the orphan objects are not freed but | ||
353 | only shown in /sys/kernel/debug/kmemleak. Enabling this | ||
354 | feature will introduce an overhead to memory | ||
355 | allocations. See Documentation/kmemleak.txt for more | ||
356 | details. | ||
357 | |||
358 | In order to access the kmemleak file, debugfs needs to be | ||
359 | mounted (usually at /sys/kernel/debug). | ||
360 | |||
361 | config DEBUG_KMEMLEAK_TEST | ||
362 | tristate "Simple test for the kernel memory leak detector" | ||
363 | depends on DEBUG_KMEMLEAK | ||
364 | help | ||
365 | Say Y or M here to build a test for the kernel memory leak | ||
366 | detector. This option enables a module that explicitly leaks | ||
367 | memory. | ||
368 | |||
369 | If unsure, say N. | ||
370 | |||
339 | config DEBUG_PREEMPT | 371 | config DEBUG_PREEMPT |
340 | bool "Debug preemptible kernel" | 372 | bool "Debug preemptible kernel" |
341 | depends on DEBUG_KERNEL && PREEMPT && (TRACE_IRQFLAGS_SUPPORT || PPC64) | 373 | depends on DEBUG_KERNEL && PREEMPT && (TRACE_IRQFLAGS_SUPPORT || PPC64) |
@@ -440,7 +472,7 @@ config LOCKDEP | |||
440 | bool | 472 | bool |
441 | depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT | 473 | depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT |
442 | select STACKTRACE | 474 | select STACKTRACE |
443 | select FRAME_POINTER if !X86 && !MIPS && !PPC && !ARM_UNWIND | 475 | select FRAME_POINTER if !MIPS && !PPC && !ARM_UNWIND && !S390 |
444 | select KALLSYMS | 476 | select KALLSYMS |
445 | select KALLSYMS_ALL | 477 | select KALLSYMS_ALL |
446 | 478 | ||
@@ -620,7 +652,7 @@ config ARCH_WANT_FRAME_POINTERS | |||
620 | config FRAME_POINTER | 652 | config FRAME_POINTER |
621 | bool "Compile the kernel with frame pointers" | 653 | bool "Compile the kernel with frame pointers" |
622 | depends on DEBUG_KERNEL && \ | 654 | depends on DEBUG_KERNEL && \ |
623 | (CRIS || M68K || M68KNOMMU || FRV || UML || S390 || \ | 655 | (CRIS || M68K || M68KNOMMU || FRV || UML || \ |
624 | AVR32 || SUPERH || BLACKFIN || MN10300) || \ | 656 | AVR32 || SUPERH || BLACKFIN || MN10300) || \ |
625 | ARCH_WANT_FRAME_POINTERS | 657 | ARCH_WANT_FRAME_POINTERS |
626 | default y if (DEBUG_INFO && UML) || ARCH_WANT_FRAME_POINTERS | 658 | default y if (DEBUG_INFO && UML) || ARCH_WANT_FRAME_POINTERS |
@@ -809,13 +841,13 @@ config FAULT_INJECTION_STACKTRACE_FILTER | |||
809 | depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT | 841 | depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT |
810 | depends on !X86_64 | 842 | depends on !X86_64 |
811 | select STACKTRACE | 843 | select STACKTRACE |
812 | select FRAME_POINTER if !PPC | 844 | select FRAME_POINTER if !PPC && !S390 |
813 | help | 845 | help |
814 | Provide stacktrace filter for fault-injection capabilities | 846 | Provide stacktrace filter for fault-injection capabilities |
815 | 847 | ||
816 | config LATENCYTOP | 848 | config LATENCYTOP |
817 | bool "Latency measuring infrastructure" | 849 | bool "Latency measuring infrastructure" |
818 | select FRAME_POINTER if !MIPS && !PPC | 850 | select FRAME_POINTER if !MIPS && !PPC && !S390 |
819 | select KALLSYMS | 851 | select KALLSYMS |
820 | select KALLSYMS_ALL | 852 | select KALLSYMS_ALL |
821 | select STACKTRACE | 853 | select STACKTRACE |
@@ -891,7 +923,6 @@ config DYNAMIC_DEBUG | |||
891 | default n | 923 | default n |
892 | depends on PRINTK | 924 | depends on PRINTK |
893 | depends on DEBUG_FS | 925 | depends on DEBUG_FS |
894 | select PRINTK_DEBUG | ||
895 | help | 926 | help |
896 | 927 | ||
897 | Compiles debug level messages into the kernel, which would not | 928 | Compiles debug level messages into the kernel, which would not |
@@ -965,3 +996,5 @@ config DMA_API_DEBUG | |||
965 | source "samples/Kconfig" | 996 | source "samples/Kconfig" |
966 | 997 | ||
967 | source "lib/Kconfig.kgdb" | 998 | source "lib/Kconfig.kgdb" |
999 | |||
1000 | source "lib/Kconfig.kmemcheck" | ||