diff options
| author | Dave Hansen <dave.hansen@linux.intel.com> | 2013-07-01 16:04:49 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-04 14:25:39 -0400 |
| commit | 604ff0dceb2aca049a25a181c68f8db5c0798f7f (patch) | |
| tree | cd512d23691ee4fcc4ed9dbeb767a8b43510c59d /lib | |
| parent | 9eade16b4151ec35a9e03bbc7cc890e640a536c1 (diff) | |
kconfig: consolidate printk options
Same deal, take the printk-related things and hide them in a menu.
This takes another 4 items out of the top-level menu.
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/Kconfig.debug | 177 |
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 @@ | |||
| 1 | menu "printk and dmesg options" | ||
| 1 | 2 | ||
| 2 | config PRINTK_TIME | 3 | config 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 | ||
| 29 | config 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 | |||
| 47 | config 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 | |||
| 116 | endmenu # "printk and dmesg options" | ||
| 117 | |||
| 28 | menu "Compile-time checks and compiler options" | 118 | menu "Compile-time checks and compiler options" |
| 29 | 119 | ||
| 30 | config DEBUG_INFO | 120 | config DEBUG_INFO |
| @@ -940,24 +1030,6 @@ config DEBUG_CREDENTIALS | |||
| 940 | 1030 | ||
| 941 | If unsure, say N. | 1031 | If unsure, say N. |
| 942 | 1032 | ||
| 943 | config 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 | |||
| 961 | menu "RCU Debugging" | 1033 | menu "RCU Debugging" |
| 962 | 1034 | ||
| 963 | config PROVE_RCU | 1035 | config 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 | ||
| 1444 | config 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 | |||
| 1513 | config DMA_API_DEBUG | 1516 | config 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 |
