Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1b208622 authored by Tim Abbott's avatar Tim Abbott Committed by Linus Torvalds
Browse files

Optimize the ordering of sections in RW_DATA_SECTION.



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.

This patch sorts the sections by alignment requirements, which should
pack them essentially optimally.

Signed-off-by: default avatarTim Abbott <tabbott@ksplice.com>
Reviewed-by: default avatarSam Ravnborg <sam@ravnborg.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent e9ea0e2d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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)				\