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

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
...@@ -721,12 +721,12 @@ ...@@ -721,12 +721,12 @@
. = ALIGN(PAGE_SIZE); \ . = ALIGN(PAGE_SIZE); \
.data : AT(ADDR(.data) - LOAD_OFFSET) { \ .data : AT(ADDR(.data) - LOAD_OFFSET) { \
INIT_TASK_DATA(inittask) \ INIT_TASK_DATA(inittask) \
NOSAVE_DATA \
PAGE_ALIGNED_DATA(pagealigned) \
CACHELINE_ALIGNED_DATA(cacheline) \ CACHELINE_ALIGNED_DATA(cacheline) \
READ_MOSTLY_DATA(cacheline) \ READ_MOSTLY_DATA(cacheline) \
DATA_DATA \ DATA_DATA \
CONSTRUCTORS \ CONSTRUCTORS \
NOSAVE_DATA \
PAGE_ALIGNED_DATA(pagealigned) \
} }
#define INIT_TEXT_SECTION(inittext_align) \ #define INIT_TEXT_SECTION(inittext_align) \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment