Messages in this thread | | | Date | Wed, 23 Sep 2009 14:36:06 -0400 (EDT) | From | Tim Abbott <> | Subject | Re: [PATCH 01/13] Optimize the ordering of sections in RW_DATA_SECTION. |
| |
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@ksplice.com> > > Reviewed-by: Sam Ravnborg <sam@ravnborg.org> > > --- > > 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 > > >
| |