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


Andrew Morton wrote:
> On Wed, 19 Jan 2011 17:01:07 -0600
> Mike Travis <travis@sgi.com> 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?

Thanks,
Mike


\
 
 \ /
  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