aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Kconfig.debug177
1 files changed, 90 insertions, 87 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index c0d41dfadc2d..a6c2c5c1a5f8 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1,3 +1,4 @@
1menu "printk and dmesg options"
1 2
2config PRINTK_TIME 3config PRINTK_TIME
3 bool "Show timing information on printks" 4 bool "Show timing information on printks"
@@ -25,6 +26,95 @@ config DEFAULT_MESSAGE_LOGLEVEL
25 that are auditing their logs closely may want to set it to a lower 26 that are auditing their logs closely may want to set it to a lower
26 priority. 27 priority.
27 28
29config BOOT_PRINTK_DELAY
30 bool "Delay each boot printk message by N milliseconds"
31 depends on DEBUG_KERNEL && PRINTK && GENERIC_CALIBRATE_DELAY
32 help
33 This build option allows you to read kernel boot messages
34 by inserting a short delay after each one. The delay is
35 specified in milliseconds on the kernel command line,
36 using "boot_delay=N".
37
38 It is likely that you would also need to use "lpj=M" to preset
39 the "loops per jiffie" value.
40 See a previous boot log for the "lpj" value to use for your
41 system, and then set "lpj=M" before setting "boot_delay=N".
42 NOTE: Using this option may adversely affect SMP systems.
43 I.e., processors other than the first one may not boot up.
44 BOOT_PRINTK_DELAY also may cause LOCKUP_DETECTOR to detect
45 what it believes to be lockup conditions.
46
47config DYNAMIC_DEBUG
48 bool "Enable dynamic printk() support"
49 default n
50 depends on PRINTK
51 depends on DEBUG_FS
52 help
53
54 Compiles debug level messages into the kernel, which would not
55 otherwise be available at runtime. These messages can then be
56 enabled/disabled based on various levels of scope - per source file,
57 function, module, format string, and line number. This mechanism
58 implicitly compiles in all pr_debug() and dev_dbg() calls, which
59 enlarges the kernel text size by about 2%.
60
61 If a source file is compiled with DEBUG flag set, any
62 pr_debug() calls in it are enabled by default, but can be
63 disabled at runtime as below. Note that DEBUG flag is
64 turned on by many CONFIG_*DEBUG* options.
65
66 Usage:
67
68 Dynamic debugging is controlled via the 'dynamic_debug/control' file,
69 which is contained in the 'debugfs' filesystem. Thus, the debugfs
70 filesystem must first be mounted before making use of this feature.
71 We refer the control file as: <debugfs>/dynamic_debug/control. This
72 file contains a list of the debug statements that can be enabled. The
73 format for each line of the file is:
74
75 filename:lineno [module]function flags format
76
77 filename : source file of the debug statement
78 lineno : line number of the debug statement
79 module : module that contains the debug statement
80 function : function that contains the debug statement
81 flags : '=p' means the line is turned 'on' for printing
82 format : the format used for the debug statement
83
84 From a live system:
85
86 nullarbor:~ # cat <debugfs>/dynamic_debug/control
87 # filename:lineno [module]function flags format
88 fs/aio.c:222 [aio]__put_ioctx =_ "__put_ioctx:\040freeing\040%p\012"
89 fs/aio.c:248 [aio]ioctx_alloc =_ "ENOMEM:\040nr_events\040too\040high\012"
90 fs/aio.c:1770 [aio]sys_io_cancel =_ "calling\040cancel\012"
91
92 Example usage:
93
94 // enable the message at line 1603 of file svcsock.c
95 nullarbor:~ # echo -n 'file svcsock.c line 1603 +p' >
96 <debugfs>/dynamic_debug/control
97
98 // enable all the messages in file svcsock.c
99 nullarbor:~ # echo -n 'file svcsock.c +p' >
100 <debugfs>/dynamic_debug/control
101
102 // enable all the messages in the NFS server module
103 nullarbor:~ # echo -n 'module nfsd +p' >
104 <debugfs>/dynamic_debug/control
105
106 // enable all 12 messages in the function svc_process()
107 nullarbor:~ # echo -n 'func svc_process +p' >
108 <debugfs>/dynamic_debug/control
109
110 // disable all 12 messages in the function svc_process()
111 nullarbor:~ # echo -n 'func svc_process -p' >
112 <debugfs>/dynamic_debug/control
113
114 See Documentation/dynamic-debug-howto.txt for additional information.
115
116endmenu # "printk and dmesg options"
117
28menu "Compile-time checks and compiler options" 118menu "Compile-time checks and compiler options"
29 119
30config DEBUG_INFO 120config DEBUG_INFO
@@ -940,24 +1030,6 @@ config DEBUG_CREDENTIALS
940 1030
941 If unsure, say N. 1031 If unsure, say N.
942 1032
943config BOOT_PRINTK_DELAY
944 bool "Delay each boot printk message by N milliseconds"
945 depends on DEBUG_KERNEL && PRINTK && GENERIC_CALIBRATE_DELAY
946 help
947 This build option allows you to read kernel boot messages
948 by inserting a short delay after each one. The delay is
949 specified in milliseconds on the kernel command line,
950 using "boot_delay=N".
951
952 It is likely that you would also need to use "lpj=M" to preset
953 the "loops per jiffie" value.
954 See a previous boot log for the "lpj" value to use for your
955 system, and then set "lpj=M" before setting "boot_delay=N".
956 NOTE: Using this option may adversely affect SMP systems.
957 I.e., processors other than the first one may not boot up.
958 BOOT_PRINTK_DELAY also may cause LOCKUP_DETECTOR to detect
959 what it believes to be lockup conditions.
960
961menu "RCU Debugging" 1033menu "RCU Debugging"
962 1034
963config PROVE_RCU 1035config PROVE_RCU
@@ -1441,75 +1513,6 @@ config BUILD_DOCSRC
1441 1513
1442 Say N if you are unsure. 1514 Say N if you are unsure.
1443 1515
1444config DYNAMIC_DEBUG
1445 bool "Enable dynamic printk() support"
1446 default n
1447 depends on PRINTK
1448 depends on DEBUG_FS
1449 help
1450
1451 Compiles debug level messages into the kernel, which would not
1452 otherwise be available at runtime. These messages can then be
1453 enabled/disabled based on various levels of scope - per source file,
1454 function, module, format string, and line number. This mechanism
1455 implicitly compiles in all pr_debug() and dev_dbg() calls, which
1456 enlarges the kernel text size by about 2%.
1457
1458 If a source file is compiled with DEBUG flag set, any
1459 pr_debug() calls in it are enabled by default, but can be
1460 disabled at runtime as below. Note that DEBUG flag is
1461 turned on by many CONFIG_*DEBUG* options.
1462
1463 Usage:
1464
1465 Dynamic debugging is controlled via the 'dynamic_debug/control' file,
1466 which is contained in the 'debugfs' filesystem. Thus, the debugfs
1467 filesystem must first be mounted before making use of this feature.
1468 We refer the control file as: <debugfs>/dynamic_debug/control. This
1469 file contains a list of the debug statements that can be enabled. The
1470 format for each line of the file is:
1471
1472 filename:lineno [module]function flags format
1473
1474 filename : source file of the debug statement
1475 lineno : line number of the debug statement
1476 module : module that contains the debug statement
1477 function : function that contains the debug statement
1478 flags : '=p' means the line is turned 'on' for printing
1479 format : the format used for the debug statement
1480
1481 From a live system:
1482
1483 nullarbor:~ # cat <debugfs>/dynamic_debug/control
1484 # filename:lineno [module]function flags format
1485 fs/aio.c:222 [aio]__put_ioctx =_ "__put_ioctx:\040freeing\040%p\012"
1486 fs/aio.c:248 [aio]ioctx_alloc =_ "ENOMEM:\040nr_events\040too\040high\012"
1487 fs/aio.c:1770 [aio]sys_io_cancel =_ "calling\040cancel\012"
1488
1489 Example usage:
1490
1491 // enable the message at line 1603 of file svcsock.c
1492 nullarbor:~ # echo -n 'file svcsock.c line 1603 +p' >
1493 <debugfs>/dynamic_debug/control
1494
1495 // enable all the messages in file svcsock.c
1496 nullarbor:~ # echo -n 'file svcsock.c +p' >
1497 <debugfs>/dynamic_debug/control
1498
1499 // enable all the messages in the NFS server module
1500 nullarbor:~ # echo -n 'module nfsd +p' >
1501 <debugfs>/dynamic_debug/control
1502
1503 // enable all 12 messages in the function svc_process()
1504 nullarbor:~ # echo -n 'func svc_process +p' >
1505 <debugfs>/dynamic_debug/control
1506
1507 // disable all 12 messages in the function svc_process()
1508 nullarbor:~ # echo -n 'func svc_process -p' >
1509 <debugfs>/dynamic_debug/control
1510
1511 See Documentation/dynamic-debug-howto.txt for additional information.
1512
1513config DMA_API_DEBUG 1516config DMA_API_DEBUG
1514 bool "Enable debugging of DMA-API usage" 1517 bool "Enable debugging of DMA-API usage"
1515 depends on HAVE_DMA_API_DEBUG 1518 depends on HAVE_DMA_API_DEBUG