| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 |  | 
 | 2 | config PRINTK_TIME | 
 | 3 | 	bool "Show timing information on printks" | 
 | 4 | 	help | 
 | 5 | 	  Selecting this option causes timing information to be | 
 | 6 | 	  included in printk output.  This allows you to measure | 
 | 7 | 	  the interval between kernel operations, including bootup | 
 | 8 | 	  operations.  This is useful for identifying long delays | 
 | 9 | 	  in kernel startup. | 
 | 10 |  | 
 | 11 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 12 | config MAGIC_SYSRQ | 
 | 13 | 	bool "Magic SysRq key" | 
| Adrian Bunk | f346f4b | 2006-01-09 20:54:51 -0800 | [diff] [blame] | 14 | 	depends on !UML | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 15 | 	help | 
 | 16 | 	  If you say Y here, you will have some control over the system even | 
 | 17 | 	  if the system crashes for example during kernel debugging (e.g., you | 
 | 18 | 	  will be able to flush the buffer cache to disk, reboot the system | 
 | 19 | 	  immediately or dump some status information). This is accomplished | 
 | 20 | 	  by pressing various keys while holding SysRq (Alt+PrintScreen). It | 
 | 21 | 	  also works on a serial console (on PC hardware at least), if you | 
 | 22 | 	  send a BREAK and then within 5 seconds a command keypress. The | 
 | 23 | 	  keys are documented in <file:Documentation/sysrq.txt>. Don't say Y | 
 | 24 | 	  unless you really know what this hack does. | 
 | 25 |  | 
| Adrian Bunk | f346f4b | 2006-01-09 20:54:51 -0800 | [diff] [blame] | 26 | config DEBUG_KERNEL | 
 | 27 | 	bool "Kernel debugging" | 
 | 28 | 	help | 
 | 29 | 	  Say Y here if you are developing drivers or trying to debug and | 
 | 30 | 	  identify kernel problems. | 
 | 31 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 32 | config LOG_BUF_SHIFT | 
 | 33 | 	int "Kernel log buffer size (16 => 64KB, 17 => 128KB)" if DEBUG_KERNEL | 
 | 34 | 	range 12 21 | 
| Martin Schwidefsky | 347a8dc | 2006-01-06 00:19:28 -0800 | [diff] [blame] | 35 | 	default 17 if S390 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 36 | 	default 16 if X86_NUMAQ || IA64 | 
 | 37 | 	default 15 if SMP | 
 | 38 | 	default 14 | 
 | 39 | 	help | 
 | 40 | 	  Select kernel log buffer size as a power of 2. | 
 | 41 | 	  Defaults and Examples: | 
 | 42 | 	  	     17 => 128 KB for S/390 | 
 | 43 | 		     16 => 64 KB for x86 NUMAQ or IA-64 | 
 | 44 | 	             15 => 32 KB for SMP | 
 | 45 | 	             14 => 16 KB for uniprocessor | 
 | 46 | 		     13 =>  8 KB | 
 | 47 | 		     12 =>  4 KB | 
 | 48 |  | 
| Ingo Molnar | 8446f1d | 2005-09-06 15:16:27 -0700 | [diff] [blame] | 49 | config DETECT_SOFTLOCKUP | 
 | 50 | 	bool "Detect Soft Lockups" | 
 | 51 | 	depends on DEBUG_KERNEL | 
 | 52 | 	default y | 
 | 53 | 	help | 
 | 54 | 	  Say Y here to enable the kernel to detect "soft lockups", | 
 | 55 | 	  which are bugs that cause the kernel to loop in kernel | 
 | 56 | 	  mode for more than 10 seconds, without giving other tasks a | 
 | 57 | 	  chance to run. | 
 | 58 |  | 
 | 59 | 	  When a soft-lockup is detected, the kernel will print the | 
 | 60 | 	  current stack trace (which you should report), but the | 
 | 61 | 	  system will stay locked up. This feature has negligible | 
 | 62 | 	  overhead. | 
 | 63 |  | 
 | 64 | 	  (Note that "hard lockups" are separate type of bugs that | 
 | 65 | 	   can be detected via the NMI-watchdog, on platforms that | 
 | 66 | 	   support it.) | 
 | 67 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 68 | config SCHEDSTATS | 
 | 69 | 	bool "Collect scheduler statistics" | 
 | 70 | 	depends on DEBUG_KERNEL && PROC_FS | 
 | 71 | 	help | 
 | 72 | 	  If you say Y here, additional code will be inserted into the | 
 | 73 | 	  scheduler and related routines to collect statistics about | 
 | 74 | 	  scheduler behavior and provide them in /proc/schedstat.  These | 
 | 75 | 	  stats may be useful for both tuning and debugging the scheduler | 
 | 76 | 	  If you aren't debugging the scheduler or trying to tune a specific | 
 | 77 | 	  application, you can say N to avoid the very slight overhead | 
 | 78 | 	  this adds. | 
 | 79 |  | 
 | 80 | config DEBUG_SLAB | 
 | 81 | 	bool "Debug memory allocations" | 
| Ingo Molnar | 50dd26b | 2006-01-08 01:01:42 -0800 | [diff] [blame] | 82 | 	depends on DEBUG_KERNEL && SLAB | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 83 | 	help | 
 | 84 | 	  Say Y here to have the kernel do limited verification on memory | 
 | 85 | 	  allocation as well as poisoning memory on free to catch use of freed | 
 | 86 | 	  memory. This can make kmalloc/kfree-intensive workloads much slower. | 
 | 87 |  | 
 | 88 | config DEBUG_PREEMPT | 
 | 89 | 	bool "Debug preemptible kernel" | 
 | 90 | 	depends on DEBUG_KERNEL && PREEMPT | 
 | 91 | 	default y | 
 | 92 | 	help | 
 | 93 | 	  If you say Y here then the kernel will use a debug variant of the | 
 | 94 | 	  commonly used smp_processor_id() function and will print warnings | 
 | 95 | 	  if kernel code uses it in a preemption-unsafe way. Also, the kernel | 
 | 96 | 	  will detect preemption count underflows. | 
 | 97 |  | 
| Ingo Molnar | 408894e | 2006-01-09 15:59:20 -0800 | [diff] [blame] | 98 | config DEBUG_MUTEXES | 
 | 99 | 	bool "Mutex debugging, deadlock detection" | 
 | 100 | 	default y | 
 | 101 | 	depends on DEBUG_KERNEL | 
 | 102 | 	help | 
 | 103 | 	 This allows mutex semantics violations and mutex related deadlocks | 
 | 104 | 	 (lockups) to be detected and reported automatically. | 
 | 105 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 106 | config DEBUG_SPINLOCK | 
 | 107 | 	bool "Spinlock debugging" | 
 | 108 | 	depends on DEBUG_KERNEL | 
 | 109 | 	help | 
 | 110 | 	  Say Y here and build SMP to catch missing spinlock initialization | 
 | 111 | 	  and certain other kinds of spinlock errors commonly made.  This is | 
 | 112 | 	  best used in conjunction with the NMI watchdog so that spinlock | 
 | 113 | 	  deadlocks are also debuggable. | 
 | 114 |  | 
 | 115 | config DEBUG_SPINLOCK_SLEEP | 
 | 116 | 	bool "Sleep-inside-spinlock checking" | 
 | 117 | 	depends on DEBUG_KERNEL | 
 | 118 | 	help | 
 | 119 | 	  If you say Y here, various routines which may sleep will become very | 
 | 120 | 	  noisy if they are called with a spinlock held. | 
 | 121 |  | 
 | 122 | config DEBUG_KOBJECT | 
 | 123 | 	bool "kobject debugging" | 
 | 124 | 	depends on DEBUG_KERNEL | 
 | 125 | 	help | 
 | 126 | 	  If you say Y here, some extra kobject debugging messages will be sent | 
 | 127 | 	  to the syslog.  | 
 | 128 |  | 
 | 129 | config DEBUG_HIGHMEM | 
 | 130 | 	bool "Highmem debugging" | 
 | 131 | 	depends on DEBUG_KERNEL && HIGHMEM | 
 | 132 | 	help | 
 | 133 | 	  This options enables addition error checking for high memory systems. | 
 | 134 | 	  Disable for production systems. | 
 | 135 |  | 
 | 136 | config DEBUG_BUGVERBOSE | 
 | 137 | 	bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EMBEDDED | 
| Matt Mackall | c8538a7 | 2005-05-01 08:59:01 -0700 | [diff] [blame] | 138 | 	depends on BUG | 
| Brian Gerst | 0d078f6 | 2005-10-30 14:59:20 -0800 | [diff] [blame] | 139 | 	depends on ARM || ARM26 || M32R || M68K || SPARC32 || SPARC64 || X86_32 || FRV | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 140 | 	default !EMBEDDED | 
 | 141 | 	help | 
 | 142 | 	  Say Y here to make BUG() panics output the file name and line number | 
 | 143 | 	  of the BUG call as well as the EIP and oops trace.  This aids | 
 | 144 | 	  debugging but costs about 70-100K of memory. | 
 | 145 |  | 
 | 146 | config DEBUG_INFO | 
 | 147 | 	bool "Compile the kernel with debug info" | 
 | 148 | 	depends on DEBUG_KERNEL | 
 | 149 | 	help | 
 | 150 |           If you say Y here the resulting kernel image will include | 
 | 151 | 	  debugging info resulting in a larger kernel image. | 
 | 152 | 	  Say Y here only if you plan to debug the kernel. | 
 | 153 |  | 
 | 154 | 	  If unsure, say N. | 
 | 155 |  | 
 | 156 | config DEBUG_IOREMAP | 
 | 157 | 	bool "Enable ioremap() debugging" | 
 | 158 | 	depends on DEBUG_KERNEL && PARISC | 
 | 159 | 	help | 
 | 160 | 	  Enabling this option will cause the kernel to distinguish between | 
 | 161 | 	  ioremapped and physical addresses.  It will print a backtrace (at | 
 | 162 | 	  most one every 10 seconds), hopefully allowing you to see which | 
 | 163 | 	  drivers need work.  Fixing all these problems is a prerequisite | 
 | 164 | 	  for turning on USE_HPPA_IOREMAP.  The warnings are harmless; | 
 | 165 | 	  the kernel has enough information to fix the broken drivers | 
 | 166 | 	  automatically, but we'd like to make it more efficient by not | 
 | 167 | 	  having to do that. | 
 | 168 |  | 
 | 169 | config DEBUG_FS | 
 | 170 | 	bool "Debug Filesystem" | 
| Adrian Bunk | 3348e05 | 2005-07-29 12:14:28 -0700 | [diff] [blame] | 171 | 	depends on DEBUG_KERNEL && SYSFS | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 172 | 	help | 
 | 173 | 	  debugfs is a virtual file system that kernel developers use to put | 
 | 174 | 	  debugging files into.  Enable this option to be able to read and | 
 | 175 | 	  write to these files. | 
 | 176 |  | 
 | 177 | 	  If unsure, say N. | 
 | 178 |  | 
| Paul E. McKenney | a241ec6 | 2005-10-30 15:03:12 -0800 | [diff] [blame] | 179 | config DEBUG_VM | 
 | 180 | 	bool "Debug VM" | 
 | 181 | 	depends on DEBUG_KERNEL | 
 | 182 | 	help | 
| Nick Piggin | 13e7444 | 2006-01-06 00:10:58 -0800 | [diff] [blame] | 183 | 	  Enable this to turn on extended checks in the virtual-memory system | 
 | 184 |           that may impact performance. | 
| Paul E. McKenney | a241ec6 | 2005-10-30 15:03:12 -0800 | [diff] [blame] | 185 |  | 
 | 186 | 	  If unsure, say N. | 
 | 187 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 188 | config FRAME_POINTER | 
 | 189 | 	bool "Compile the kernel with frame pointers" | 
| Andi Kleen | aeb3998 | 2005-09-12 18:49:25 +0200 | [diff] [blame] | 190 | 	depends on DEBUG_KERNEL && (X86 || CRIS || M68K || M68KNOMMU || FRV || UML) | 
| Paolo 'Blaisorblade' Giarrusso | 37fce85 | 2005-05-28 15:51:59 -0700 | [diff] [blame] | 191 | 	default y if DEBUG_INFO && UML | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 192 | 	help | 
 | 193 | 	  If you say Y here the resulting kernel image will be slightly larger | 
| Jesper Juhl | 2a38bcc | 2005-10-30 15:02:51 -0800 | [diff] [blame] | 194 | 	  and slower, but it might give very useful debugging information on | 
 | 195 | 	  some architectures or if you use external debuggers. | 
| Andi Kleen | aeb3998 | 2005-09-12 18:49:25 +0200 | [diff] [blame] | 196 | 	  If you don't debug the kernel, you can say N. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 197 |  | 
| Paul E. McKenney | a241ec6 | 2005-10-30 15:03:12 -0800 | [diff] [blame] | 198 | config RCU_TORTURE_TEST | 
 | 199 | 	tristate "torture tests for RCU" | 
 | 200 | 	depends on DEBUG_KERNEL | 
 | 201 | 	default n | 
 | 202 | 	help | 
 | 203 | 	  This option provides a kernel module that runs torture tests | 
 | 204 | 	  on the RCU infrastructure.  The kernel module may be built | 
 | 205 | 	  after the fact on the running kernel to be tested, if desired. | 
 | 206 |  | 
 | 207 | 	  Say Y here if you want RCU torture tests to start automatically | 
 | 208 | 	  at boot time (you probably don't). | 
 | 209 | 	  Say M if you want the RCU torture tests to build as a module. | 
 | 210 | 	  Say N if you are unsure. |