Re: [PATCH 01/13] Optimize the ordering of sections inRW_DATA_SECTION.

From: Tim Abbott
Date: Wed Sep 23 2009 - 14:37:12 EST


On Wed, 23 Sep 2009, Linus Torvalds wrote:

>
> Umm. As a commit message this sucks. What's so optimized about this?

Yeah, it does. Sorry about that.

This patch sorts the sections by alignment requirements, which should pack
them essentially optimally. The old RW_DATA_SECTION had INIT_TASK_DATA
(which was more-than-PAGE_SIZE-aligned), followed by a bunch of small
alignment stuff, followed by more PAGE_SIZE-aligned stuff, so you wasted
memory in the middle of .data re-aligning back up to PAGE_SIZE.

-Tim Abbott

> On Tue, 22 Sep 2009, Tim Abbott wrote:
> >
> > Signed-off-by: Tim Abbott <tabbott@xxxxxxxxxxx>
> > Reviewed-by: Sam Ravnborg <sam@xxxxxxxxxxxx>
> > ---
> > include/asm-generic/vmlinux.lds.h | 4 ++--
> > 1 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
> > index 29ca8f5..b6e818f 100644
> > --- a/include/asm-generic/vmlinux.lds.h
> > +++ b/include/asm-generic/vmlinux.lds.h
> > @@ -721,12 +721,12 @@
> > . = ALIGN(PAGE_SIZE); \
> > .data : AT(ADDR(.data) - LOAD_OFFSET) { \
> > INIT_TASK_DATA(inittask) \
> > + NOSAVE_DATA \
> > + PAGE_ALIGNED_DATA(pagealigned) \
> > CACHELINE_ALIGNED_DATA(cacheline) \
> > READ_MOSTLY_DATA(cacheline) \
> > DATA_DATA \
> > CONSTRUCTORS \
> > - NOSAVE_DATA \
> > - PAGE_ALIGNED_DATA(pagealigned) \
> > }
> >
> > #define INIT_TEXT_SECTION(inittext_align) \
> > --
> > 1.6.3.3
> >
>
--
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/