| |
| config DEBUG_KERNEL |
| bool "Kernel debugging" |
| depends on (ALPHA || ARM || CRIS || H8300 || X86 || IA64 || M32R || M68K || M68KNOMMU || MIPS || PARISC || PPC32 || PPC64 || ARCH_S390 || SUPERH || SUPERH64 || SPARC32 || SPARC64 || USERMODE || V850 || X86_64) |
| help |
| Say Y here if you are developing drivers or trying to debug and |
| identify kernel problems. |
| |
| config MAGIC_SYSRQ |
| bool "Magic SysRq key" |
| depends on DEBUG_KERNEL && (ALPHA || ARM || X86 || IA64 || M32R || M68K || MIPS || PARISC || PPC32 || PPC64 || ARCH_S390 || SUPERH || SUPERH64 || SPARC32 || SPARC64 || X86_64 || USERMODE) |
| help |
| If you say Y here, you will have some control over the system even |
| if the system crashes for example during kernel debugging (e.g., you |
| will be able to flush the buffer cache to disk, reboot the system |
| immediately or dump some status information). This is accomplished |
| by pressing various keys while holding SysRq (Alt+PrintScreen). It |
| also works on a serial console (on PC hardware at least), if you |
| send a BREAK and then within 5 seconds a command keypress. The |
| keys are documented in <file:Documentation/sysrq.txt>. Don't say Y |
| unless you really know what this hack does. |
| |
| config MAGIC_SYSRQ |
| bool "Magic SysRq key" |
| depends on DEBUG_KERNEL && (H8300 || M68KNOMMU || V850) |
| help |
| Enables console device to interpret special characters as |
| commands to dump state information. |
| |
| config SCHEDSTATS |
| bool "Collect scheduler statistics" |
| depends on DEBUG_KERNEL && PROC_FS |
| help |
| If you say Y here, additional code will be inserted into the |
| scheduler and related routines to collect statistics about |
| scheduler behavior and provide them in /proc/schedstat. These |
| stats may be useful for both tuning and debugging the scheduler |
| If you aren't debugging the scheduler or trying to tune a specific |
| application, you can say N to avoid the very slight overhead |
| this adds. |
| |
| config DEBUG_SLAB |
| bool "Debug memory allocations" |
| depends on DEBUG_KERNEL && (ALPHA || ARM || X86 || IA64 || M32R || M68K || MIPS || PARISC || PPC32 || PPC64 || ARCH_S390 || SPARC32 || SPARC64 || USERMODE || X86_64) |
| help |
| Say Y here to have the kernel do limited verification on memory |
| 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_PREEMPT |
| bool "Debug preemptible kernel" |
| depends on PREEMPT |
| default y |
| help |
| If you say Y here then the kernel will use a debug variant of the |
| commonly used smp_processor_id() function and will print warnings |
| if kernel code uses it in a preemption-unsafe way. Also, the kernel |
| will detect preemption count underflows. |
| |
| config DEBUG_SPINLOCK |
| bool "Spinlock debugging" |
| depends on DEBUG_KERNEL && (ALPHA || ARM || X86 || IA64 || M32R || MIPS || PARISC || PPC32 || (SUPERH && !SUPERH64) || SPARC32 || SPARC64 || USERMODE || X86_64) |
| help |
| Say Y here and build SMP to catch missing spinlock initialization |
| and certain other kinds of spinlock errors commonly made. This is |
| best used in conjunction with the NMI watchdog so that spinlock |
| deadlocks are also debuggable. |
| |
| config DEBUG_SPINLOCK_SLEEP |
| bool "Sleep-inside-spinlock checking" |
| depends on DEBUG_KERNEL && (X86 || IA64 || M32R || MIPS || PPC32 || PPC64 || ARCH_S390 || SPARC32 || SPARC64 || USERMODE) |
| help |
| If you say Y here, various routines which may sleep will become very |
| noisy if they are called with a spinlock held. |
| |
| config DEBUG_KOBJECT |
| bool "kobject debugging" |
| depends on DEBUG_KERNEL |
| help |
| If you say Y here, some extra kobject debugging messages will be sent |
| to the syslog. |
| |
| config DEBUG_HIGHMEM |
| bool "Highmem debugging" |
| depends on DEBUG_KERNEL && HIGHMEM && (X86 || PPC32 || MIPS || SPARC32) |
| help |
| This options enables addition error checking for high memory systems. |
| Disable for production systems. |
| |
| config DEBUG_BUGVERBOSE |
| bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EMBEDDED |
| depends on ARM || ARM26 || M32R || M68K || SPARC32 || SPARC64 || (X86 && !X86_64) |
| default !EMBEDDED |
| help |
| Say Y here to make BUG() panics output the file name and line number |
| of the BUG call as well as the EIP and oops trace. This aids |
| debugging but costs about 70-100K of memory. |
| |
| config DEBUG_INFO |
| bool "Compile the kernel with debug info" |
| depends on DEBUG_KERNEL && (ALPHA || CRIS || X86 || IA64 || M32R || M68K || MIPS || PARISC || PPC32 || PPC64 || ARCH_S390 || (SUPERH && !SUPERH64) || SPARC64 || V850 || X86_64) |
| help |
| If you say Y here the resulting kernel image will include |
| debugging info resulting in a larger kernel image. |
| Say Y here only if you plan to use gdb to debug the kernel. |
| If you don't debug the kernel, you can say N. |
| |
| config DEBUG_INFO |
| bool "Enable kernel debugging symbols" |
| depends on DEBUG_KERNEL && USERMODE |
| help |
| When this is enabled, the User-Mode Linux binary will include |
| debugging symbols. This enlarges the binary by a few megabytes, |
| but aids in tracking down kernel problems in UML. It is required |
| if you intend to do any kernel development. |
| |
| If you're truly short on disk space or don't expect to report any |
| bugs back to the UML developers, say N, otherwise say Y. |
| |
| config DEBUG_IOREMAP |
| bool "Enable ioremap() debugging" |
| depends on DEBUG_KERNEL && PARISC |
| help |
| Enabling this option will cause the kernel to distinguish between |
| ioremapped and physical addresses. It will print a backtrace (at |
| most one every 10 seconds), hopefully allowing you to see which |
| drivers need work. Fixing all these problems is a prerequisite |
| for turning on USE_HPPA_IOREMAP. The warnings are harmless; |
| the kernel has enough information to fix the broken drivers |
| automatically, but we'd like to make it more efficient by not |
| having to do that. |
| |
| config DEBUG_FS |
| bool "Debug Filesystem" |
| depends on DEBUG_KERNEL |
| help |
| debugfs is a virtual file system that kernel developers use to put |
| debugging files into. Enable this option to be able to read and |
| write to these files. |
| |
| If unsure, say N. |
| |
| if !X86_64 |
| config FRAME_POINTER |
| bool "Compile the kernel with frame pointers" |
| depends on X86 || CRIS || M68KNOMMU |
| help |
| If you say Y here the resulting kernel image will be slightly larger |
| and slower, but it will give very useful debugging information. |
| If you don't debug the kernel, you can say N, but we may not be able |
| to solve problems without frame pointers. |
| endif |