Re: [PATCH 1/6] printk: Allocate kernel log buffer earlier

From: Andrew Morton
Date: Thu Jan 20 2011 - 18:51:12 EST


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.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/