Skip to content

build,src: make --use-largepages a no-op - #65389

Merged
joyeecheung merged 1 commit into
nodejs:mainfrom
joyeecheung:remove-largepages
Aug 21, 2026
Merged

build,src: make --use-largepages a no-op#65389
joyeecheung merged 1 commit into
nodejs:mainfrom
joyeecheung:remove-largepages

Conversation

@joyeecheung

@joyeecheung joyeecheung commented Aug 18, 2026

Copy link
Copy Markdown
Member

This feature has not been actively used in the wild and has always only been best-effort on systems that support it. The build changes it needs breaks WSL1 compatibility and the relocation mechanism won't work with newer V8 that remaps builtins using mremap(MREMAP_DONTUNMAP).

This patch effectively removes this feature by turning the flags into no-ops. A warning will be printed if --use-largepages=on is used.

This unblocks #65161

Fixes: #63735
Fixes: #64408
Refs: https://chromium-review.googlesource.com/c/v8/v8/+/7985687

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/config
  • @nodejs/gyp
  • @nodejs/startup
  • @nodejs/tsc

@nodejs-github-bot nodejs-github-bot added lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run. labels Aug 18, 2026
@aduh95

aduh95 commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

You'd need to run make node.1

@codecov

codecov Bot commented Aug 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.14%. Comparing base (610fcd8) to head (15940ef).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #65389      +/-   ##
==========================================
+ Coverage   90.12%   90.14%   +0.02%     
==========================================
  Files         752      751       -1     
  Lines      252313   252298      -15     
  Branches    47432    47446      +14     
==========================================
+ Hits       227392   227436      +44     
+ Misses      16237    16175      -62     
- Partials     8684     8687       +3     
Files with missing lines Coverage Δ
src/debug_utils.h 80.00% <ø> (ø)
src/node.cc 76.65% <100.00%> (+0.13%) ⬆️
src/node.h 92.30% <ø> (ø)
src/node_options.cc 79.64% <ø> (+0.08%) ⬆️

... and 29 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@joyeecheung

Copy link
Copy Markdown
Member Author

Regenerated manpages with make node.1 to fix the linter complaint.

@panva @aduh95 @jasnell @lpinca @targos @legendecas @richardlau can you take a look again? Thanks!

@richardlau richardlau added the request-ci Add this label to start a Jenkins CI on a PR. label Aug 19, 2026
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Aug 19, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@joyeecheung joyeecheung added commit-queue Add this label to land a pull request using GitHub Actions. commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. labels Aug 21, 2026
@nodejs-github-bot nodejs-github-bot added commit-queue-failed An error occurred while landing this pull request using GitHub Actions. and removed commit-queue Add this label to land a pull request using GitHub Actions. labels Aug 21, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator
Commit Queue failed
- Loading data for nodejs/node/pull/65389
✔  Done loading data for nodejs/node/pull/65389
----------------------------------- PR info ------------------------------------
Title      build,src: make --use-largepages a no-op (#65389)
Author     Joyee Cheung <joyeec9h3@gmail.com> (@joyeecheung)
Branch     joyeecheung:remove-largepages -> nodejs:main
Labels     lib / src, needs-ci, commit-queue, commit-queue-squash
Commits    2
 - build,src: make --use-largepages a no-op
 - fixup! build,src: make --use-largepages a no-op
Committers 1
 - Joyee Cheung <joyeec9h3@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/65389
Fixes: https://github.com/nodejs/node/issues/63735
Fixes: https://github.com/nodejs/node/issues/64408
Refs: https://chromium-review.googlesource.com/c/v8/v8/+/7985687
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
------------------------------ Generated metadata ------------------------------
PR-URL: https://github.com/nodejs/node/pull/65389
Fixes: https://github.com/nodejs/node/issues/63735
Fixes: https://github.com/nodejs/node/issues/64408
Refs: https://chromium-review.googlesource.com/c/v8/v8/+/7985687
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
--------------------------------------------------------------------------------
   ℹ  This PR was created on Tue, 18 Aug 2026 16:42:00 GMT
   ✔  Approvals: 6
   ✔  - Filip Skokan (@panva) (TSC): https://github.com/nodejs/node/pull/65389#pullrequestreview-4974241425
   ✔  - Richard Lau (@richardlau) (TSC): https://github.com/nodejs/node/pull/65389#pullrequestreview-4974284212
   ✔  - Luigi Pinca (@lpinca): https://github.com/nodejs/node/pull/65389#pullrequestreview-4964787574
   ✔  - Michaël Zasso (@targos) (TSC): https://github.com/nodejs/node/pull/65389#pullrequestreview-4974239811
   ✔  - Chengzhong Wu (@legendecas) (TSC): https://github.com/nodejs/node/pull/65389#pullrequestreview-4965389659
   ✔  - James M Snell (@jasnell) (TSC): https://github.com/nodejs/node/pull/65389#pullrequestreview-4966739333
   ✘  1 GitHub CI job(s) cancelled:
   ✘    - test-linux (ubuntu-24.04): CANCELLED (https://github.com/nodejs/node/actions/runs/32273683157/job/96135892536)
   ℹ  Last Full PR CI on 2026-08-19T16:17:13Z: https://ci.nodejs.org/job/node-test-pull-request/76002/
- Querying data for job/node-test-pull-request/76002/
✔  Build data downloaded
   ✔  Last Jenkins CI successful
--------------------------------------------------------------------------------
   ✔  Aborted `git node land` session in /home/runner/work/node/node/.ncu
https://github.com/nodejs/node/actions/runs/32498791963

This feature has not been actively used in the wild and has
always only been best-effort on systems that support it. The build
changes it needs breaks WSL1 compatibility and the relocation
mechanism won't work with newer V8 that remaps builtins using
mremap(MREMAP_DONTUNMAP).

This patch effectively removes this feature by turning the flags
into no-ops. A warning will be printed if `--use-largepages=on`
is used.

Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
PR-URL: nodejs#65389
Fixes: nodejs#63735
Fixes: nodejs#64408
Refs: https://chromium-review.googlesource.com/c/v8/v8/+/7985687
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@joyeecheung
joyeecheung merged commit 15940ef into nodejs:main Aug 21, 2026
20 checks passed
@joyeecheung

Copy link
Copy Markdown
Member Author

It seems the commit queue is unable to recognize the successful GHA rebuild after the first one is canceled. Landed manually in 15940ef.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

commit-queue-failed An error occurred while landing this pull request using GitHub Actions. commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Future of --use-largepages=on linux x64 release binary fails to exec on WSL1

9 participants