Skip to content

Commit

Permalink
src: fix fully-static & large-pages combination
Browse files Browse the repository at this point in the history
Fixes: nodejs#23906
Refs: nodejs#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: nodejs#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 31, 2018
1 parent e35f671 commit d32b5bd
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions src/large_pages/ld.implicit.script
Original file line number Diff line number Diff line change
@@ -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.