Messages in this thread | | | Date | Thu, 29 May 2008 13:16:31 +0900 | From | Paul Mundt <> | Subject | Re: [PATCH 1/3] make page-aligned data and bss less fragile |
| |
On Wed, May 28, 2008 at 05:04:34PM +0100, Jeremy Fitzhardinge wrote: > Making a variable page-aligned by using > __attribute__((section(".data.page_aligned"))) is fragile because if > sizeof(variable) is not also a multiple of page size, it leaves > variables in the remainder of the section unaligned. > > This patch introduces two new qualifiers, __page_aligned_data and > __page_aligned_bss to set the section *and* the alignment of > variables. This makes page-aligned variables more robust because the > linker will make sure they're aligned properly. Unfortunately it > requires *all* page-aligned data to use these macros... > > It also updates arch/x86's use of page-aligned variables, since its > the heaviest user of them in the kernel. The change to > arch/x86/xen/mmu.c fixes an actual bug, but the rest are cleanups > and to set a precident. > > [ I don't know if this would be easier to manage by splitting the > x86 part out from the common part. Two following patches apply to > powerpc and sh; they're purely decorative. ] > > Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> > Cc: Paul Mundt <lethal@linux-sh.org> > Cc: Paul Mackerras <paulus@samba.org>
Acked-by: Paul Mundt <lethal@linux-sh.org>
| |