Permalink
Browse files

src: fix fully-static & large-pages combination

Fixes: #23906
Refs: #22079

This change to ld.implicit.script moves libc static code to
.lpstub area and avoids the issue detailed in 23906

Quick performance comparision on web-tooling shows 3%
improvement for the combination over fully-static

cycles                       376,235,487,455  390,007,877,315
instructions                 700,341,146,973  714,773,201,182
itlb_misses_walk_completed        20,654,246       28,908,381
itlb_misses_walk_completed_4k     19,884,666       28,865,118
itlb_misses_walk_completed_2m_4m     769,391           43,251
Score                                   9.13             8.86

PR-URL: #23964
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
  • Loading branch information...
suresh-srinivas authored and refack committed Oct 29, 2018
1 parent e35f671 commit d32b5bd567544f5b73d186803885592bce51c870
Showing with 4 additions and 2 deletions.
  1. +4 −2 src/large_pages/ld.implicit.script
@@ -1,8 +1,10 @@
SECTIONS {
.lpstub : { *(.lpstub) }
.lpstub : {
*libc.a:*(.text .text.*)
*(.lpstub)
}
}
PROVIDE (__nodetext = .);
PROVIDE (_nodetext = .);
PROVIDE (nodetext = .);
INSERT BEFORE .text;

0 comments on commit d32b5bd

Please sign in to comment.