diff options
Diffstat (limited to 'init')
| -rw-r--r-- | init/Kconfig | 16 | ||||
| -rw-r--r-- | init/main.c | 2 |
2 files changed, 10 insertions, 8 deletions
diff --git a/init/Kconfig b/init/Kconfig index 22f437ff65e5..8c39615165b7 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
| @@ -861,17 +861,19 @@ config LOG_CPU_MAX_BUF_SHIFT | |||
| 861 | 13 => 8 KB for each CPU | 861 | 13 => 8 KB for each CPU |
| 862 | 12 => 4 KB for each CPU | 862 | 12 => 4 KB for each CPU |
| 863 | 863 | ||
| 864 | config NMI_LOG_BUF_SHIFT | 864 | config PRINTK_SAFE_LOG_BUF_SHIFT |
| 865 | int "Temporary per-CPU NMI log buffer size (12 => 4KB, 13 => 8KB)" | 865 | int "Temporary per-CPU printk log buffer size (12 => 4KB, 13 => 8KB)" |
| 866 | range 10 21 | 866 | range 10 21 |
| 867 | default 13 | 867 | default 13 |
| 868 | depends on PRINTK_NMI | 868 | depends on PRINTK |
| 869 | help | 869 | help |
| 870 | Select the size of a per-CPU buffer where NMI messages are temporary | 870 | Select the size of an alternate printk per-CPU buffer where messages |
| 871 | stored. They are copied to the main log buffer in a safe context | 871 | printed from usafe contexts are temporary stored. One example would |
| 872 | to avoid a deadlock. The value defines the size as a power of 2. | 872 | be NMI messages, another one - printk recursion. The messages are |
| 873 | copied to the main log buffer in a safe context to avoid a deadlock. | ||
| 874 | The value defines the size as a power of 2. | ||
| 873 | 875 | ||
| 874 | NMI messages are rare and limited. The largest one is when | 876 | Those messages are rare and limited. The largest one is when |
| 875 | a backtrace is printed. It usually fits into 4KB. Select | 877 | a backtrace is printed. It usually fits into 4KB. Select |
| 876 | 8KB if you want to be on the safe side. | 878 | 8KB if you want to be on the safe side. |
| 877 | 879 | ||
diff --git a/init/main.c b/init/main.c index c8a00f0f10ff..24ea48745061 100644 --- a/init/main.c +++ b/init/main.c | |||
| @@ -581,7 +581,7 @@ asmlinkage __visible void __init start_kernel(void) | |||
| 581 | timekeeping_init(); | 581 | timekeeping_init(); |
| 582 | time_init(); | 582 | time_init(); |
| 583 | sched_clock_postinit(); | 583 | sched_clock_postinit(); |
| 584 | printk_nmi_init(); | 584 | printk_safe_init(); |
| 585 | perf_event_init(); | 585 | perf_event_init(); |
| 586 | profile_init(); | 586 | profile_init(); |
| 587 | call_function_init(); | 587 | call_function_init(); |
