diff options
author | Mike Travis <travis@sgi.com> | 2011-05-24 20:13:20 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-25 11:39:48 -0400 |
commit | 162a7e7500f9664636e649ba59defe541b7c2c60 (patch) | |
tree | f44d4e480975d7f2c4bd4fd8625dbdb81eb04ade /arch/x86/kernel | |
parent | 95dde501907b06e7203c74f8435acfdab9eb2659 (diff) |
printk: allocate kernel log buffer earlier
On larger systems, because of the numerous ACPI, Bootmem and EFI messages,
the static log buffer overflows before the larger one specified by the
log_buf_len param is allocated. Minimize the overflow by allocating the
new log buffer as soon as possible.
On kernels without memblock, a later call to setup_log_buf from
kernel/init.c is the fallback.
[akpm@linux-foundation.org: coding-style fixes]
[akpm@linux-foundation.org: fix CONFIG_PRINTK=n build]
Signed-off-by: Mike Travis <travis@sgi.com>
Cc: Yinghai Lu <yhlu.kernel@gmail.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Jack Steiner <steiner@sgi.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/setup.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 605e5ae19c7f..a3e5948670c2 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
@@ -946,6 +946,8 @@ void __init setup_arch(char **cmdline_p) | |||
946 | if (init_ohci1394_dma_early) | 946 | if (init_ohci1394_dma_early) |
947 | init_ohci1394_dma_on_all_controllers(); | 947 | init_ohci1394_dma_on_all_controllers(); |
948 | #endif | 948 | #endif |
949 | /* Allocate bigger log buffer */ | ||
950 | setup_log_buf(1); | ||
949 | 951 | ||
950 | reserve_initrd(); | 952 | reserve_initrd(); |
951 | 953 | ||