diff options
| author | mischief <mischief@offblast.org> | 2026-08-20 17:57:27 -0300 |
|---|---|---|
| committer | bitflash <admin@bitflash.network> | 2026-08-20 17:57:27 -0300 |
| commit | 3a128281cd8fec1c698346191c240a771f80d72c (patch) | |
| tree | ee4bd622380b62b81a64d791cbeac0eec5ab5422 /src/net.cpp | |
| parent | 721a7e46fadba3251564e2308b7b7eefcb2e9d36 (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.cpp | 1 |
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 | ||