Message ID | 1241135777-9462-6-git-send-email-tabbott@mit.edu (mailing list archive) |
---|---|
State | Changes Requested, archived |
Delegated to: | Benjamin Herrenschmidt |
Headers | show |
On Thu, 2009-04-30 at 19:56 -0400, Tim Abbott wrote: > .data.cacheline_aligned should not need a separate output section; > this change moves it into the .data section. > > Since there isn't an ALIGN() directive before the > .data.cacheline_aligned scetion in the current linker script, I'd like > an ack from one of the powerpc maintainers that L1_CACHE_BYTES is the > correct alignment here. Yes, that's the right size. Also. that looks like a bug to me in the current stuff. I'm queuing your patch set for .31 but I'll stick a "fix" in .30 for that just in case which unfortunately means your patches will probably need to be rebased. Cheers, Ben. > Signed-off-by: Tim Abbott <tabbott@mit.edu> > Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> > Cc: Paul Mackerras <paulus@samba.org> > Cc: linuxppc-dev@ozlabs.org > --- > arch/powerpc/kernel/vmlinux.lds.S | 5 +---- > 1 files changed, 1 insertions(+), 4 deletions(-) > > diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S > index 4223892..e769717 100644 > --- a/arch/powerpc/kernel/vmlinux.lds.S > +++ b/arch/powerpc/kernel/vmlinux.lds.S > @@ -223,6 +223,7 @@ SECTIONS > .data : AT(ADDR(.data) - LOAD_OFFSET) { > PAGE_ALIGNED_DATA > NOSAVE_DATA > + CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES) > DATA_DATA > #ifdef CONFIG_PPC32 > *(.sdata) > @@ -260,10 +261,6 @@ SECTIONS > *(.data.init_task) > } > > - .data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET) { > - *(.data.cacheline_aligned) > - } > - > . = ALIGN(L1_CACHE_BYTES); > .data.read_mostly : AT(ADDR(.data.read_mostly) - LOAD_OFFSET) { > *(.data.read_mostly)
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index 4223892..e769717 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S @@ -223,6 +223,7 @@ SECTIONS .data : AT(ADDR(.data) - LOAD_OFFSET) { PAGE_ALIGNED_DATA NOSAVE_DATA + CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES) DATA_DATA #ifdef CONFIG_PPC32 *(.sdata) @@ -260,10 +261,6 @@ SECTIONS *(.data.init_task) } - .data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET) { - *(.data.cacheline_aligned) - } - . = ALIGN(L1_CACHE_BYTES); .data.read_mostly : AT(ADDR(.data.read_mostly) - LOAD_OFFSET) { *(.data.read_mostly)
.data.cacheline_aligned should not need a separate output section; this change moves it into the .data section. Since there isn't an ALIGN() directive before the .data.cacheline_aligned scetion in the current linker script, I'd like an ack from one of the powerpc maintainers that L1_CACHE_BYTES is the correct alignment here. Signed-off-by: Tim Abbott <tabbott@mit.edu> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: linuxppc-dev@ozlabs.org --- arch/powerpc/kernel/vmlinux.lds.S | 5 +---- 1 files changed, 1 insertions(+), 4 deletions(-)