upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src/net.cpp
diff options
context:
space:
mode:
authormischief <mischief@offblast.org>2026-08-20 17:57:27 -0300
committerbitflash <admin@bitflash.network>2026-08-20 17:57:27 -0300
commit3a128281cd8fec1c698346191c240a771f80d72c (patch)
treeee4bd622380b62b81a64d791cbeac0eec5ab5422 /src/net.cpp
parent721a7e46fadba3251564e2308b7b7eefcb2e9d36 (diff)
randomx: optional 2 MB large pages for the cache, dataset and scratchpads
RandomX reads its 256 MB cache, 2 GB dataset and per-VM scratchpads at random, so most accesses miss the TLB on 4 KB pages. Requesting 2 MB pages recovers roughly a tenth of the hash rate. Each allocation tries large pages first and falls back to normal pages when the pool is not reserved, so nothing regresses when hugepages are unavailable. -nolargepages opts out, and the diagnostics report which allocations got large pages.
Diffstat (limited to 'src/net.cpp')
-rw-r--r--src/net.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/net.cpp b/src/net.cpp
index ecfd565..287a4bd 100644
--- a/src/net.cpp
+++ b/src/net.cpp
@@ -366,6 +366,7 @@ string GetDiagnosticsText()
366 nMining, 366 nMining,
367 (RandomXFastReady() ? 2080 : 256) + 2 * nMining).c_str() 367 (RandomXFastReady() ? 2080 : 256) + 2 * nMining).c_str()
368 : ", not mining"); 368 : ", not mining");
369 str += strprintf(" large pages %s\n", RandomXLargePagesStatus());
369 370
370 str += SockAccountingText(); 371 str += SockAccountingText();
371 372