|  | 
 | config PRINTK_TIME | 
 | 	bool "Show timing information on printks" | 
 | 	help | 
 | 	  Selecting this option causes timing information to be | 
 | 	  included in printk output.  This allows you to measure | 
 | 	  the interval between kernel operations, including bootup | 
 | 	  operations.  This is useful for identifying long delays | 
 | 	  in kernel startup. | 
 |  | 
 |  | 
 | config DEBUG_KERNEL | 
 | 	bool "Kernel debugging" | 
 | 	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 && !UML | 
 | 	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 LOG_BUF_SHIFT | 
 | 	int "Kernel log buffer size (16 => 64KB, 17 => 128KB)" if DEBUG_KERNEL | 
 | 	range 12 21 | 
 | 	default 17 if ARCH_S390 | 
 | 	default 16 if X86_NUMAQ || IA64 | 
 | 	default 15 if SMP | 
 | 	default 14 | 
 | 	help | 
 | 	  Select kernel log buffer size as a power of 2. | 
 | 	  Defaults and Examples: | 
 | 	  	     17 => 128 KB for S/390 | 
 | 		     16 => 64 KB for x86 NUMAQ or IA-64 | 
 | 	             15 => 32 KB for SMP | 
 | 	             14 => 16 KB for uniprocessor | 
 | 		     13 =>  8 KB | 
 | 		     12 =>  4 KB | 
 |  | 
 | config DETECT_SOFTLOCKUP | 
 | 	bool "Detect Soft Lockups" | 
 | 	depends on DEBUG_KERNEL | 
 | 	default y | 
 | 	help | 
 | 	  Say Y here to enable the kernel to detect "soft lockups", | 
 | 	  which are bugs that cause the kernel to loop in kernel | 
 | 	  mode for more than 10 seconds, without giving other tasks a | 
 | 	  chance to run. | 
 |  | 
 | 	  When a soft-lockup is detected, the kernel will print the | 
 | 	  current stack trace (which you should report), but the | 
 | 	  system will stay locked up. This feature has negligible | 
 | 	  overhead. | 
 |  | 
 | 	  (Note that "hard lockups" are separate type of bugs that | 
 | 	   can be detected via the NMI-watchdog, on platforms that | 
 | 	   support it.) | 
 |  | 
 | 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 | 
 | 	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 DEBUG_KERNEL && 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 | 
 | 	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 | 
 | 	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 | 
 | 	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 BUG | 
 | 	depends on ARM || ARM26 || M32R || M68K || SPARC32 || SPARC64 || (X86 && !X86_64) || FRV | 
 | 	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 | 
 | 	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 debug the kernel. | 
 |  | 
 | 	  If unsure, say N. | 
 |  | 
 | 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 && SYSFS | 
 | 	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. | 
 |  | 
 | config FRAME_POINTER | 
 | 	bool "Compile the kernel with frame pointers" | 
 | 	depends on DEBUG_KERNEL && (X86 || CRIS || M68K || M68KNOMMU || FRV || UML) | 
 | 	default y if DEBUG_INFO && UML | 
 | 	help | 
 | 	  If you say Y here the resulting kernel image will be slightly larger | 
 | 	  and slower, but it might give very useful debugging information | 
 | 	  on some architectures or you use external debuggers. | 
 | 	  If you don't debug the kernel, you can say N. | 
 |  |