1 |
62 |
marcus.erl |
|
2 |
|
|
config PRINTK_TIME
|
3 |
|
|
bool "Show timing information on printks"
|
4 |
|
|
depends on PRINTK
|
5 |
|
|
help
|
6 |
|
|
Selecting this option causes timing information to be
|
7 |
|
|
included in printk output. This allows you to measure
|
8 |
|
|
the interval between kernel operations, including bootup
|
9 |
|
|
operations. This is useful for identifying long delays
|
10 |
|
|
in kernel startup.
|
11 |
|
|
|
12 |
|
|
config ENABLE_WARN_DEPRECATED
|
13 |
|
|
bool "Enable __deprecated logic"
|
14 |
|
|
default y
|
15 |
|
|
help
|
16 |
|
|
Enable the __deprecated logic in the kernel build.
|
17 |
|
|
Disable this to suppress the "warning: 'foo' is deprecated
|
18 |
|
|
(declared at kernel/power/somefile.c:1234)" messages.
|
19 |
|
|
|
20 |
|
|
config ENABLE_MUST_CHECK
|
21 |
|
|
bool "Enable __must_check logic"
|
22 |
|
|
default y
|
23 |
|
|
help
|
24 |
|
|
Enable the __must_check logic in the kernel build. Disable this to
|
25 |
|
|
suppress the "warning: ignoring return value of 'foo', declared with
|
26 |
|
|
attribute warn_unused_result" messages.
|
27 |
|
|
|
28 |
|
|
config MAGIC_SYSRQ
|
29 |
|
|
bool "Magic SysRq key"
|
30 |
|
|
depends on !UML
|
31 |
|
|
help
|
32 |
|
|
If you say Y here, you will have some control over the system even
|
33 |
|
|
if the system crashes for example during kernel debugging (e.g., you
|
34 |
|
|
will be able to flush the buffer cache to disk, reboot the system
|
35 |
|
|
immediately or dump some status information). This is accomplished
|
36 |
|
|
by pressing various keys while holding SysRq (Alt+PrintScreen). It
|
37 |
|
|
also works on a serial console (on PC hardware at least), if you
|
38 |
|
|
send a BREAK and then within 5 seconds a command keypress. The
|
39 |
|
|
keys are documented in . Don't say Y
|
40 |
|
|
unless you really know what this hack does.
|
41 |
|
|
|
42 |
|
|
config UNUSED_SYMBOLS
|
43 |
|
|
bool "Enable unused/obsolete exported symbols"
|
44 |
|
|
default y if X86
|
45 |
|
|
help
|
46 |
|
|
Unused but exported symbols make the kernel needlessly bigger. For
|
47 |
|
|
that reason most of these unused exports will soon be removed. This
|
48 |
|
|
option is provided temporarily to provide a transition period in case
|
49 |
|
|
some external kernel module needs one of these symbols anyway. If you
|
50 |
|
|
encounter such a case in your module, consider if you are actually
|
51 |
|
|
using the right API. (rationale: since nobody in the kernel is using
|
52 |
|
|
this in a module, there is a pretty good chance it's actually the
|
53 |
|
|
wrong interface to use). If you really need the symbol, please send a
|
54 |
|
|
mail to the linux kernel mailing list mentioning the symbol and why
|
55 |
|
|
you really need it, and what the merge plan to the mainline kernel for
|
56 |
|
|
your module is.
|
57 |
|
|
|
58 |
|
|
config DEBUG_FS
|
59 |
|
|
bool "Debug Filesystem"
|
60 |
|
|
depends on SYSFS
|
61 |
|
|
help
|
62 |
|
|
debugfs is a virtual file system that kernel developers use to put
|
63 |
|
|
debugging files into. Enable this option to be able to read and
|
64 |
|
|
write to these files.
|
65 |
|
|
|
66 |
|
|
If unsure, say N.
|
67 |
|
|
|
68 |
|
|
config HEADERS_CHECK
|
69 |
|
|
bool "Run 'make headers_check' when building vmlinux"
|
70 |
|
|
depends on !UML
|
71 |
|
|
help
|
72 |
|
|
This option will extract the user-visible kernel headers whenever
|
73 |
|
|
building the kernel, and will run basic sanity checks on them to
|
74 |
|
|
ensure that exported files do not attempt to include files which
|
75 |
|
|
were not exported, etc.
|
76 |
|
|
|
77 |
|
|
If you're making modifications to header files which are
|
78 |
|
|
relevant for userspace, say 'Y', and check the headers
|
79 |
|
|
exported to $(INSTALL_HDR_PATH) (usually 'usr/include' in
|
80 |
|
|
your build tree), to make sure they're suitable.
|
81 |
|
|
|
82 |
|
|
config DEBUG_KERNEL
|
83 |
|
|
bool "Kernel debugging"
|
84 |
|
|
help
|
85 |
|
|
Say Y here if you are developing drivers or trying to debug and
|
86 |
|
|
identify kernel problems.
|
87 |
|
|
|
88 |
|
|
config DEBUG_SHIRQ
|
89 |
|
|
bool "Debug shared IRQ handlers"
|
90 |
|
|
depends on DEBUG_KERNEL && GENERIC_HARDIRQS
|
91 |
|
|
help
|
92 |
|
|
Enable this to generate a spurious interrupt as soon as a shared
|
93 |
|
|
interrupt handler is registered, and just before one is deregistered.
|
94 |
|
|
Drivers ought to be able to handle interrupts coming in at those
|
95 |
|
|
points; some don't and need to be caught.
|
96 |
|
|
|
97 |
|
|
config DETECT_SOFTLOCKUP
|
98 |
|
|
bool "Detect Soft Lockups"
|
99 |
|
|
depends on DEBUG_KERNEL && !S390
|
100 |
|
|
default y
|
101 |
|
|
help
|
102 |
|
|
Say Y here to enable the kernel to detect "soft lockups",
|
103 |
|
|
which are bugs that cause the kernel to loop in kernel
|
104 |
|
|
mode for more than 10 seconds, without giving other tasks a
|
105 |
|
|
chance to run.
|
106 |
|
|
|
107 |
|
|
When a soft-lockup is detected, the kernel will print the
|
108 |
|
|
current stack trace (which you should report), but the
|
109 |
|
|
system will stay locked up. This feature has negligible
|
110 |
|
|
overhead.
|
111 |
|
|
|
112 |
|
|
(Note that "hard lockups" are separate type of bugs that
|
113 |
|
|
can be detected via the NMI-watchdog, on platforms that
|
114 |
|
|
support it.)
|
115 |
|
|
|
116 |
|
|
config SCHED_DEBUG
|
117 |
|
|
bool "Collect scheduler debugging info"
|
118 |
|
|
depends on DEBUG_KERNEL && PROC_FS
|
119 |
|
|
default y
|
120 |
|
|
help
|
121 |
|
|
If you say Y here, the /proc/sched_debug file will be provided
|
122 |
|
|
that can help debug the scheduler. The runtime overhead of this
|
123 |
|
|
option is minimal.
|
124 |
|
|
|
125 |
|
|
config SCHEDSTATS
|
126 |
|
|
bool "Collect scheduler statistics"
|
127 |
|
|
depends on DEBUG_KERNEL && PROC_FS
|
128 |
|
|
help
|
129 |
|
|
If you say Y here, additional code will be inserted into the
|
130 |
|
|
scheduler and related routines to collect statistics about
|
131 |
|
|
scheduler behavior and provide them in /proc/schedstat. These
|
132 |
|
|
stats may be useful for both tuning and debugging the scheduler
|
133 |
|
|
If you aren't debugging the scheduler or trying to tune a specific
|
134 |
|
|
application, you can say N to avoid the very slight overhead
|
135 |
|
|
this adds.
|
136 |
|
|
|
137 |
|
|
config TIMER_STATS
|
138 |
|
|
bool "Collect kernel timers statistics"
|
139 |
|
|
depends on DEBUG_KERNEL && PROC_FS
|
140 |
|
|
help
|
141 |
|
|
If you say Y here, additional code will be inserted into the
|
142 |
|
|
timer routines to collect statistics about kernel timers being
|
143 |
|
|
reprogrammed. The statistics can be read from /proc/timer_stats.
|
144 |
|
|
The statistics collection is started by writing 1 to /proc/timer_stats,
|
145 |
|
|
writing 0 stops it. This feature is useful to collect information
|
146 |
|
|
about timer usage patterns in kernel and userspace. This feature
|
147 |
|
|
is lightweight if enabled in the kernel config but not activated
|
148 |
|
|
(it defaults to deactivated on bootup and will only be activated
|
149 |
|
|
if some application like powertop activates it explicitly).
|
150 |
|
|
|
151 |
|
|
config DEBUG_SLAB
|
152 |
|
|
bool "Debug slab memory allocations"
|
153 |
|
|
depends on DEBUG_KERNEL && SLAB
|
154 |
|
|
help
|
155 |
|
|
Say Y here to have the kernel do limited verification on memory
|
156 |
|
|
allocation as well as poisoning memory on free to catch use of freed
|
157 |
|
|
memory. This can make kmalloc/kfree-intensive workloads much slower.
|
158 |
|
|
|
159 |
|
|
config DEBUG_SLAB_LEAK
|
160 |
|
|
bool "Memory leak debugging"
|
161 |
|
|
depends on DEBUG_SLAB
|
162 |
|
|
|
163 |
|
|
config SLUB_DEBUG_ON
|
164 |
|
|
bool "SLUB debugging on by default"
|
165 |
|
|
depends on SLUB && SLUB_DEBUG
|
166 |
|
|
default n
|
167 |
|
|
help
|
168 |
|
|
Boot with debugging on by default. SLUB boots by default with
|
169 |
|
|
the runtime debug capabilities switched off. Enabling this is
|
170 |
|
|
equivalent to specifying the "slub_debug" parameter on boot.
|
171 |
|
|
There is no support for more fine grained debug control like
|
172 |
|
|
possible with slub_debug=xxx. SLUB debugging may be switched
|
173 |
|
|
off in a kernel built with CONFIG_SLUB_DEBUG_ON by specifying
|
174 |
|
|
"slub_debug=-".
|
175 |
|
|
|
176 |
|
|
config DEBUG_PREEMPT
|
177 |
|
|
bool "Debug preemptible kernel"
|
178 |
|
|
depends on DEBUG_KERNEL && PREEMPT && (TRACE_IRQFLAGS_SUPPORT || PPC64)
|
179 |
|
|
default y
|
180 |
|
|
help
|
181 |
|
|
If you say Y here then the kernel will use a debug variant of the
|
182 |
|
|
commonly used smp_processor_id() function and will print warnings
|
183 |
|
|
if kernel code uses it in a preemption-unsafe way. Also, the kernel
|
184 |
|
|
will detect preemption count underflows.
|
185 |
|
|
|
186 |
|
|
config DEBUG_RT_MUTEXES
|
187 |
|
|
bool "RT Mutex debugging, deadlock detection"
|
188 |
|
|
depends on DEBUG_KERNEL && RT_MUTEXES
|
189 |
|
|
help
|
190 |
|
|
This allows rt mutex semantics violations and rt mutex related
|
191 |
|
|
deadlocks (lockups) to be detected and reported automatically.
|
192 |
|
|
|
193 |
|
|
config DEBUG_PI_LIST
|
194 |
|
|
bool
|
195 |
|
|
default y
|
196 |
|
|
depends on DEBUG_RT_MUTEXES
|
197 |
|
|
|
198 |
|
|
config RT_MUTEX_TESTER
|
199 |
|
|
bool "Built-in scriptable tester for rt-mutexes"
|
200 |
|
|
depends on DEBUG_KERNEL && RT_MUTEXES
|
201 |
|
|
help
|
202 |
|
|
This option enables a rt-mutex tester.
|
203 |
|
|
|
204 |
|
|
config DEBUG_SPINLOCK
|
205 |
|
|
bool "Spinlock and rw-lock debugging: basic checks"
|
206 |
|
|
depends on DEBUG_KERNEL
|
207 |
|
|
help
|
208 |
|
|
Say Y here and build SMP to catch missing spinlock initialization
|
209 |
|
|
and certain other kinds of spinlock errors commonly made. This is
|
210 |
|
|
best used in conjunction with the NMI watchdog so that spinlock
|
211 |
|
|
deadlocks are also debuggable.
|
212 |
|
|
|
213 |
|
|
config DEBUG_MUTEXES
|
214 |
|
|
bool "Mutex debugging: basic checks"
|
215 |
|
|
depends on DEBUG_KERNEL
|
216 |
|
|
help
|
217 |
|
|
This feature allows mutex semantics violations to be detected and
|
218 |
|
|
reported.
|
219 |
|
|
|
220 |
|
|
config DEBUG_SEMAPHORE
|
221 |
|
|
bool "Semaphore debugging"
|
222 |
|
|
depends on DEBUG_KERNEL
|
223 |
|
|
depends on ALPHA || FRV
|
224 |
|
|
default n
|
225 |
|
|
help
|
226 |
|
|
If you say Y here then semaphore processing will issue lots of
|
227 |
|
|
verbose debugging messages. If you suspect a semaphore problem or a
|
228 |
|
|
kernel hacker asks for this option then say Y. Otherwise say N.
|
229 |
|
|
|
230 |
|
|
config DEBUG_LOCK_ALLOC
|
231 |
|
|
bool "Lock debugging: detect incorrect freeing of live locks"
|
232 |
|
|
depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
|
233 |
|
|
select DEBUG_SPINLOCK
|
234 |
|
|
select DEBUG_MUTEXES
|
235 |
|
|
select LOCKDEP
|
236 |
|
|
help
|
237 |
|
|
This feature will check whether any held lock (spinlock, rwlock,
|
238 |
|
|
mutex or rwsem) is incorrectly freed by the kernel, via any of the
|
239 |
|
|
memory-freeing routines (kfree(), kmem_cache_free(), free_pages(),
|
240 |
|
|
vfree(), etc.), whether a live lock is incorrectly reinitialized via
|
241 |
|
|
spin_lock_init()/mutex_init()/etc., or whether there is any lock
|
242 |
|
|
held during task exit.
|
243 |
|
|
|
244 |
|
|
config PROVE_LOCKING
|
245 |
|
|
bool "Lock debugging: prove locking correctness"
|
246 |
|
|
depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
|
247 |
|
|
select LOCKDEP
|
248 |
|
|
select DEBUG_SPINLOCK
|
249 |
|
|
select DEBUG_MUTEXES
|
250 |
|
|
select DEBUG_LOCK_ALLOC
|
251 |
|
|
default n
|
252 |
|
|
help
|
253 |
|
|
This feature enables the kernel to prove that all locking
|
254 |
|
|
that occurs in the kernel runtime is mathematically
|
255 |
|
|
correct: that under no circumstance could an arbitrary (and
|
256 |
|
|
not yet triggered) combination of observed locking
|
257 |
|
|
sequences (on an arbitrary number of CPUs, running an
|
258 |
|
|
arbitrary number of tasks and interrupt contexts) cause a
|
259 |
|
|
deadlock.
|
260 |
|
|
|
261 |
|
|
In short, this feature enables the kernel to report locking
|
262 |
|
|
related deadlocks before they actually occur.
|
263 |
|
|
|
264 |
|
|
The proof does not depend on how hard and complex a
|
265 |
|
|
deadlock scenario would be to trigger: how many
|
266 |
|
|
participant CPUs, tasks and irq-contexts would be needed
|
267 |
|
|
for it to trigger. The proof also does not depend on
|
268 |
|
|
timing: if a race and a resulting deadlock is possible
|
269 |
|
|
theoretically (no matter how unlikely the race scenario
|
270 |
|
|
is), it will be proven so and will immediately be
|
271 |
|
|
reported by the kernel (once the event is observed that
|
272 |
|
|
makes the deadlock theoretically possible).
|
273 |
|
|
|
274 |
|
|
If a deadlock is impossible (i.e. the locking rules, as
|
275 |
|
|
observed by the kernel, are mathematically correct), the
|
276 |
|
|
kernel reports nothing.
|
277 |
|
|
|
278 |
|
|
NOTE: this feature can also be enabled for rwlocks, mutexes
|
279 |
|
|
and rwsems - in which case all dependencies between these
|
280 |
|
|
different locking variants are observed and mapped too, and
|
281 |
|
|
the proof of observed correctness is also maintained for an
|
282 |
|
|
arbitrary combination of these separate locking variants.
|
283 |
|
|
|
284 |
|
|
For more details, see Documentation/lockdep-design.txt.
|
285 |
|
|
|
286 |
|
|
config LOCKDEP
|
287 |
|
|
bool
|
288 |
|
|
depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
|
289 |
|
|
select STACKTRACE
|
290 |
|
|
select FRAME_POINTER if !X86 && !MIPS
|
291 |
|
|
select KALLSYMS
|
292 |
|
|
select KALLSYMS_ALL
|
293 |
|
|
|
294 |
|
|
config LOCK_STAT
|
295 |
|
|
bool "Lock usage statistics"
|
296 |
|
|
depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
|
297 |
|
|
select LOCKDEP
|
298 |
|
|
select DEBUG_SPINLOCK
|
299 |
|
|
select DEBUG_MUTEXES
|
300 |
|
|
select DEBUG_LOCK_ALLOC
|
301 |
|
|
default n
|
302 |
|
|
help
|
303 |
|
|
This feature enables tracking lock contention points
|
304 |
|
|
|
305 |
|
|
For more details, see Documentation/lockstat.txt
|
306 |
|
|
|
307 |
|
|
config DEBUG_LOCKDEP
|
308 |
|
|
bool "Lock dependency engine debugging"
|
309 |
|
|
depends on DEBUG_KERNEL && LOCKDEP
|
310 |
|
|
help
|
311 |
|
|
If you say Y here, the lock dependency engine will do
|
312 |
|
|
additional runtime checks to debug itself, at the price
|
313 |
|
|
of more runtime overhead.
|
314 |
|
|
|
315 |
|
|
config TRACE_IRQFLAGS
|
316 |
|
|
depends on DEBUG_KERNEL
|
317 |
|
|
bool
|
318 |
|
|
default y
|
319 |
|
|
depends on TRACE_IRQFLAGS_SUPPORT
|
320 |
|
|
depends on PROVE_LOCKING
|
321 |
|
|
|
322 |
|
|
config DEBUG_SPINLOCK_SLEEP
|
323 |
|
|
bool "Spinlock debugging: sleep-inside-spinlock checking"
|
324 |
|
|
depends on DEBUG_KERNEL
|
325 |
|
|
help
|
326 |
|
|
If you say Y here, various routines which may sleep will become very
|
327 |
|
|
noisy if they are called with a spinlock held.
|
328 |
|
|
|
329 |
|
|
config DEBUG_LOCKING_API_SELFTESTS
|
330 |
|
|
bool "Locking API boot-time self-tests"
|
331 |
|
|
depends on DEBUG_KERNEL
|
332 |
|
|
help
|
333 |
|
|
Say Y here if you want the kernel to run a short self-test during
|
334 |
|
|
bootup. The self-test checks whether common types of locking bugs
|
335 |
|
|
are detected by debugging mechanisms or not. (if you disable
|
336 |
|
|
lock debugging then those bugs wont be detected of course.)
|
337 |
|
|
The following locking APIs are covered: spinlocks, rwlocks,
|
338 |
|
|
mutexes and rwsems.
|
339 |
|
|
|
340 |
|
|
config STACKTRACE
|
341 |
|
|
bool
|
342 |
|
|
depends on DEBUG_KERNEL
|
343 |
|
|
depends on STACKTRACE_SUPPORT
|
344 |
|
|
|
345 |
|
|
config DEBUG_KOBJECT
|
346 |
|
|
bool "kobject debugging"
|
347 |
|
|
depends on DEBUG_KERNEL
|
348 |
|
|
help
|
349 |
|
|
If you say Y here, some extra kobject debugging messages will be sent
|
350 |
|
|
to the syslog.
|
351 |
|
|
|
352 |
|
|
config DEBUG_HIGHMEM
|
353 |
|
|
bool "Highmem debugging"
|
354 |
|
|
depends on DEBUG_KERNEL && HIGHMEM
|
355 |
|
|
help
|
356 |
|
|
This options enables addition error checking for high memory systems.
|
357 |
|
|
Disable for production systems.
|
358 |
|
|
|
359 |
|
|
config DEBUG_BUGVERBOSE
|
360 |
|
|
bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EMBEDDED
|
361 |
|
|
depends on BUG
|
362 |
|
|
depends on ARM || AVR32 || M32R || M68K || SPARC32 || SPARC64 || FRV || SUPERH || GENERIC_BUG || BLACKFIN
|
363 |
|
|
default !EMBEDDED
|
364 |
|
|
help
|
365 |
|
|
Say Y here to make BUG() panics output the file name and line number
|
366 |
|
|
of the BUG call as well as the EIP and oops trace. This aids
|
367 |
|
|
debugging but costs about 70-100K of memory.
|
368 |
|
|
|
369 |
|
|
config DEBUG_INFO
|
370 |
|
|
bool "Compile the kernel with debug info"
|
371 |
|
|
depends on DEBUG_KERNEL
|
372 |
|
|
help
|
373 |
|
|
If you say Y here the resulting kernel image will include
|
374 |
|
|
debugging info resulting in a larger kernel image.
|
375 |
|
|
This adds debug symbols to the kernel and modules (gcc -g), and
|
376 |
|
|
is needed if you intend to use kernel crashdump or binary object
|
377 |
|
|
tools like crash, kgdb, LKCD, gdb, etc on the kernel.
|
378 |
|
|
Say Y here only if you plan to debug the kernel.
|
379 |
|
|
|
380 |
|
|
If unsure, say N.
|
381 |
|
|
|
382 |
|
|
config DEBUG_VM
|
383 |
|
|
bool "Debug VM"
|
384 |
|
|
depends on DEBUG_KERNEL
|
385 |
|
|
help
|
386 |
|
|
Enable this to turn on extended checks in the virtual-memory system
|
387 |
|
|
that may impact performance.
|
388 |
|
|
|
389 |
|
|
If unsure, say N.
|
390 |
|
|
|
391 |
|
|
config DEBUG_LIST
|
392 |
|
|
bool "Debug linked list manipulation"
|
393 |
|
|
depends on DEBUG_KERNEL
|
394 |
|
|
help
|
395 |
|
|
Enable this to turn on extended checks in the linked-list
|
396 |
|
|
walking routines.
|
397 |
|
|
|
398 |
|
|
If unsure, say N.
|
399 |
|
|
|
400 |
|
|
config DEBUG_SG
|
401 |
|
|
bool "Debug SG table operations"
|
402 |
|
|
depends on DEBUG_KERNEL
|
403 |
|
|
help
|
404 |
|
|
Enable this to turn on checks on scatter-gather tables. This can
|
405 |
|
|
help find problems with drivers that do not properly initialize
|
406 |
|
|
their sg tables.
|
407 |
|
|
|
408 |
|
|
If unsure, say N.
|
409 |
|
|
|
410 |
|
|
config FRAME_POINTER
|
411 |
|
|
bool "Compile the kernel with frame pointers"
|
412 |
|
|
depends on DEBUG_KERNEL && (X86 || CRIS || M68K || M68KNOMMU || FRV || UML || S390 || AVR32 || SUPERH || BLACKFIN)
|
413 |
|
|
default y if DEBUG_INFO && UML
|
414 |
|
|
help
|
415 |
|
|
If you say Y here the resulting kernel image will be slightly larger
|
416 |
|
|
and slower, but it might give very useful debugging information on
|
417 |
|
|
some architectures or if you use external debuggers.
|
418 |
|
|
If you don't debug the kernel, you can say N.
|
419 |
|
|
|
420 |
|
|
config FORCED_INLINING
|
421 |
|
|
bool "Force gcc to inline functions marked 'inline'"
|
422 |
|
|
depends on DEBUG_KERNEL
|
423 |
|
|
default y
|
424 |
|
|
help
|
425 |
|
|
This option determines if the kernel forces gcc to inline the functions
|
426 |
|
|
developers have marked 'inline'. Doing so takes away freedom from gcc to
|
427 |
|
|
do what it thinks is best, which is desirable for the gcc 3.x series of
|
428 |
|
|
compilers. The gcc 4.x series have a rewritten inlining algorithm and
|
429 |
|
|
disabling this option will generate a smaller kernel there. Hopefully
|
430 |
|
|
this algorithm is so good that allowing gcc4 to make the decision can
|
431 |
|
|
become the default in the future, until then this option is there to
|
432 |
|
|
test gcc for this.
|
433 |
|
|
|
434 |
|
|
config BOOT_PRINTK_DELAY
|
435 |
|
|
bool "Delay each boot printk message by N milliseconds"
|
436 |
|
|
depends on DEBUG_KERNEL && PRINTK && GENERIC_CALIBRATE_DELAY
|
437 |
|
|
help
|
438 |
|
|
This build option allows you to read kernel boot messages
|
439 |
|
|
by inserting a short delay after each one. The delay is
|
440 |
|
|
specified in milliseconds on the kernel command line,
|
441 |
|
|
using "boot_delay=N".
|
442 |
|
|
|
443 |
|
|
It is likely that you would also need to use "lpj=M" to preset
|
444 |
|
|
the "loops per jiffie" value.
|
445 |
|
|
See a previous boot log for the "lpj" value to use for your
|
446 |
|
|
system, and then set "lpj=M" before setting "boot_delay=N".
|
447 |
|
|
NOTE: Using this option may adversely affect SMP systems.
|
448 |
|
|
I.e., processors other than the first one may not boot up.
|
449 |
|
|
BOOT_PRINTK_DELAY also may cause DETECT_SOFTLOCKUP to detect
|
450 |
|
|
what it believes to be lockup conditions.
|
451 |
|
|
|
452 |
|
|
config RCU_TORTURE_TEST
|
453 |
|
|
tristate "torture tests for RCU"
|
454 |
|
|
depends on DEBUG_KERNEL
|
455 |
|
|
depends on m
|
456 |
|
|
default n
|
457 |
|
|
help
|
458 |
|
|
This option provides a kernel module that runs torture tests
|
459 |
|
|
on the RCU infrastructure. The kernel module may be built
|
460 |
|
|
after the fact on the running kernel to be tested, if desired.
|
461 |
|
|
|
462 |
|
|
Say M if you want the RCU torture tests to build as a module.
|
463 |
|
|
Say N if you are unsure.
|
464 |
|
|
|
465 |
|
|
config LKDTM
|
466 |
|
|
tristate "Linux Kernel Dump Test Tool Module"
|
467 |
|
|
depends on DEBUG_KERNEL
|
468 |
|
|
depends on KPROBES
|
469 |
|
|
default n
|
470 |
|
|
help
|
471 |
|
|
This module enables testing of the different dumping mechanisms by
|
472 |
|
|
inducing system failures at predefined crash points.
|
473 |
|
|
If you don't need it: say N
|
474 |
|
|
Choose M here to compile this code as a module. The module will be
|
475 |
|
|
called lkdtm.
|
476 |
|
|
|
477 |
|
|
Documentation on how to use the module can be found in
|
478 |
|
|
drivers/misc/lkdtm.c
|
479 |
|
|
|
480 |
|
|
config FAULT_INJECTION
|
481 |
|
|
bool "Fault-injection framework"
|
482 |
|
|
depends on DEBUG_KERNEL
|
483 |
|
|
help
|
484 |
|
|
Provide fault-injection framework.
|
485 |
|
|
For more details, see Documentation/fault-injection/.
|
486 |
|
|
|
487 |
|
|
config FAILSLAB
|
488 |
|
|
bool "Fault-injection capability for kmalloc"
|
489 |
|
|
depends on FAULT_INJECTION
|
490 |
|
|
help
|
491 |
|
|
Provide fault-injection capability for kmalloc.
|
492 |
|
|
|
493 |
|
|
config FAIL_PAGE_ALLOC
|
494 |
|
|
bool "Fault-injection capabilitiy for alloc_pages()"
|
495 |
|
|
depends on FAULT_INJECTION
|
496 |
|
|
help
|
497 |
|
|
Provide fault-injection capability for alloc_pages().
|
498 |
|
|
|
499 |
|
|
config FAIL_MAKE_REQUEST
|
500 |
|
|
bool "Fault-injection capability for disk IO"
|
501 |
|
|
depends on FAULT_INJECTION
|
502 |
|
|
help
|
503 |
|
|
Provide fault-injection capability for disk IO.
|
504 |
|
|
|
505 |
|
|
config FAULT_INJECTION_DEBUG_FS
|
506 |
|
|
bool "Debugfs entries for fault-injection capabilities"
|
507 |
|
|
depends on FAULT_INJECTION && SYSFS && DEBUG_FS
|
508 |
|
|
help
|
509 |
|
|
Enable configuration of fault-injection capabilities via debugfs.
|
510 |
|
|
|
511 |
|
|
config FAULT_INJECTION_STACKTRACE_FILTER
|
512 |
|
|
bool "stacktrace filter for fault-injection capabilities"
|
513 |
|
|
depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT
|
514 |
|
|
depends on !X86_64
|
515 |
|
|
select STACKTRACE
|
516 |
|
|
select FRAME_POINTER
|
517 |
|
|
help
|
518 |
|
|
Provide stacktrace filter for fault-injection capabilities
|
519 |
|
|
|
520 |
|
|
source "samples/Kconfig"
|