vserver 1.9.5.x5
[linux-2.6.git] / lib / Kconfig.debug
1
2 config DEBUG_KERNEL
3         bool "Kernel debugging"
4         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)
5         help
6           Say Y here if you are developing drivers or trying to debug and
7           identify kernel problems.
8
9 config MAGIC_SYSRQ
10         bool "Magic SysRq key"
11         depends on DEBUG_KERNEL && (ALPHA || ARM || X86 || IA64 || M32R || M68K || MIPS || PARISC || PPC32 || PPC64 || ARCH_S390 || SUPERH || SUPERH64 || SPARC32 || SPARC64 || X86_64 || USERMODE)
12         help
13           If you say Y here, you will have some control over the system even
14           if the system crashes for example during kernel debugging (e.g., you
15           will be able to flush the buffer cache to disk, reboot the system
16           immediately or dump some status information). This is accomplished
17           by pressing various keys while holding SysRq (Alt+PrintScreen). It
18           also works on a serial console (on PC hardware at least), if you
19           send a BREAK and then within 5 seconds a command keypress. The
20           keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
21           unless you really know what this hack does.
22
23 config MAGIC_SYSRQ
24         bool "Magic SysRq key"
25         depends on DEBUG_KERNEL && (H8300 || M68KNOMMU || V850)
26         help
27           Enables console device to interpret special characters as
28           commands to dump state information.
29
30 config SCHEDSTATS
31         bool "Collect scheduler statistics"
32         depends on DEBUG_KERNEL && PROC_FS
33         help
34           If you say Y here, additional code will be inserted into the
35           scheduler and related routines to collect statistics about
36           scheduler behavior and provide them in /proc/schedstat.  These
37           stats may be useful for both tuning and debugging the scheduler
38           If you aren't debugging the scheduler or trying to tune a specific
39           application, you can say N to avoid the very slight overhead
40           this adds.
41
42 config DEBUG_SLAB
43         bool "Debug memory allocations"
44         depends on DEBUG_KERNEL && (ALPHA || ARM || X86 || IA64 || M32R || M68K || MIPS || PARISC || PPC32 || PPC64 || ARCH_S390 || SPARC32 || SPARC64 || USERMODE || X86_64)
45         help
46           Say Y here to have the kernel do limited verification on memory
47           allocation as well as poisoning memory on free to catch use of freed
48           memory. This can make kmalloc/kfree-intensive workloads much slower.
49
50 config DEBUG_PREEMPT
51         bool "Debug preemptible kernel"
52         depends on PREEMPT
53         default y
54         help
55           If you say Y here then the kernel will use a debug variant of the
56           commonly used smp_processor_id() function and will print warnings
57           if kernel code uses it in a preemption-unsafe way. Also, the kernel
58           will detect preemption count underflows.
59
60 config DEBUG_SPINLOCK
61         bool "Spinlock debugging"
62         depends on DEBUG_KERNEL && (ALPHA || ARM || X86 || IA64 || M32R || MIPS || PARISC || PPC32 || (SUPERH && !SUPERH64) || SPARC32 || SPARC64 || USERMODE || X86_64)
63         help
64           Say Y here and build SMP to catch missing spinlock initialization
65           and certain other kinds of spinlock errors commonly made.  This is
66           best used in conjunction with the NMI watchdog so that spinlock
67           deadlocks are also debuggable.
68
69 config DEBUG_SPINLOCK_SLEEP
70         bool "Sleep-inside-spinlock checking"
71         depends on DEBUG_KERNEL && (X86 || IA64 || M32R || MIPS || PPC32 || PPC64 || ARCH_S390 || SPARC32 || SPARC64 || USERMODE)
72         help
73           If you say Y here, various routines which may sleep will become very
74           noisy if they are called with a spinlock held.
75
76 config DEBUG_KOBJECT
77         bool "kobject debugging"
78         depends on DEBUG_KERNEL
79         help
80           If you say Y here, some extra kobject debugging messages will be sent
81           to the syslog. 
82
83 config DEBUG_HIGHMEM
84         bool "Highmem debugging"
85         depends on DEBUG_KERNEL && HIGHMEM && (X86 || PPC32 || MIPS || SPARC32)
86         help
87           This options enables addition error checking for high memory systems.
88           Disable for production systems.
89
90 config DEBUG_BUGVERBOSE
91         bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EMBEDDED
92         depends on ARM || ARM26 || M32R || M68K || SPARC32 || SPARC64 || (X86 && !X86_64)
93         default !EMBEDDED
94         help
95           Say Y here to make BUG() panics output the file name and line number
96           of the BUG call as well as the EIP and oops trace.  This aids
97           debugging but costs about 70-100K of memory.
98
99 config DEBUG_INFO
100         bool "Compile the kernel with debug info"
101         depends on DEBUG_KERNEL && (ALPHA || CRIS || X86 || IA64 || M32R || M68K || MIPS || PARISC || PPC32 || PPC64 || ARCH_S390 || (SUPERH && !SUPERH64) || SPARC64 || V850 || X86_64)
102         help
103           If you say Y here the resulting kernel image will include
104           debugging info resulting in a larger kernel image.
105           Say Y here only if you plan to use gdb to debug the kernel.
106           If you don't debug the kernel, you can say N.
107
108 config DEBUG_INFO
109         bool "Enable kernel debugging symbols"
110         depends on DEBUG_KERNEL && USERMODE
111         help
112         When this is enabled, the User-Mode Linux binary will include
113         debugging symbols.  This enlarges the binary by a few megabytes,
114         but aids in tracking down kernel problems in UML.  It is required
115         if you intend to do any kernel development.
116
117         If you're truly short on disk space or don't expect to report any
118         bugs back to the UML developers, say N, otherwise say Y.
119
120 config DEBUG_IOREMAP
121         bool "Enable ioremap() debugging"
122         depends on DEBUG_KERNEL && PARISC
123         help
124           Enabling this option will cause the kernel to distinguish between
125           ioremapped and physical addresses.  It will print a backtrace (at
126           most one every 10 seconds), hopefully allowing you to see which
127           drivers need work.  Fixing all these problems is a prerequisite
128           for turning on USE_HPPA_IOREMAP.  The warnings are harmless;
129           the kernel has enough information to fix the broken drivers
130           automatically, but we'd like to make it more efficient by not
131           having to do that.
132
133 config DEBUG_FS
134         bool "Debug Filesystem"
135         depends on DEBUG_KERNEL
136         help
137           debugfs is a virtual file system that kernel developers use to put
138           debugging files into.  Enable this option to be able to read and
139           write to these files.
140
141           If unsure, say N.
142
143 if !X86_64
144 config FRAME_POINTER
145         bool "Compile the kernel with frame pointers"
146         depends on X86 || CRIS || M68KNOMMU
147         help
148           If you say Y here the resulting kernel image will be slightly larger
149           and slower, but it will give very useful debugging information.
150           If you don't debug the kernel, you can say N, but we may not be able
151           to solve problems without frame pointers.
152 endif