Andrew Morton wrote:
On Wed, 19 Jan 2011 17:01:07 -0600
Mike Travis <travis@xxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html