[lkml]   [2011]   [Jan]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 1/6] printk: Allocate kernel log buffer earlier

Andrew Morton wrote:
> On Wed, 19 Jan 2011 17:01:07 -0600
> Mike Travis <> wrote:
>> 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.
>> All arch's are covered by the "setup_log_buf" in start_kernel().
>> The x86 arch allocates it right after bootmem is created.
>> ...
>> +void setup_log_buf(void);
>> ...
>> +void __init setup_log_buf(void)
> It's a PITA but the declaration should have the __init tag as well. We
> have had at least one instance where failing to do this caused an arch
> (arm) to emit a short-mode address offset to a function which it
> thought was in the same section as the callsite. Only the target was
> in a different section from the callsite and the linker couldn't fit
> the needed offset into the operand.

That reminds me of another question. If I have:

void __init setup(void)
static int data;

Does data automatically get put into the initdata section? Or does
it need the __initdata tag as well?


 \ /
  Last update: 2011-01-21 00:59    [W:0.075 / U:7.844 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site