Re: [PATCH 2/12] i386: align data section to 4K boundary

Andi Kleen
2006-10-04T11:17:18Z

On Tuesday 03 October 2006 19:06, Vivek Goyal wrote:
>
> o Currently there is no specific alignment restriction in linker script
> and in some cases it can be placed non 4K aligned addresses. This fails
> kexec which checks that segment to be loaded is page aligned.
>
> o I guess, it does not harm data segment to be 4K aligned.

iirc P4 optimization guide even recommends to keep writable data
away one page from code to avoid some cache invalidations. But:

> diff -puN arch/i386/kernel/vmlinux.lds.S~i386-force-data-section-to-4K-aligned arch/i386/kernel/vmlinux.lds.S
> --- linux-2.6.18-git17/arch/i386/kernel/vmlinux.lds.S~i386-force-data-section-to-4K-aligned 2006-10-02 13:17:58.000000000 -0400
> +++ linux-2.6.18-git17-root/arch/i386/kernel/vmlinux.lds.S 2006-10-02 14:38:17.000000000 -0400
> @@ -52,6 +52,7 @@ SECTIONS
> }
>
> /* writeable */
> + . = ALIGN(4096);
> .data : AT(ADDR(.data) - LOAD_OFFSET) { /* Data */
> *(.data)
> CONSTRUCTORS

I would move the ".tracedata" section behind it first.

-Andi