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: Tim Abbott <tabbott@ksplice.com> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
e9ea0e2d1d
commit
1b2086227c
|
@ -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) \
|
||||
|
|
Loading…
Reference in New Issue