From a96aaa1ed8936215d9e8f9d4554ebd1f85e9a881 Mon Sep 17 00:00:00 2001 From: XMRig Date: Sun, 31 Jan 2021 04:44:11 +0700 Subject: [PATCH] Test 32 MB hugepages. --- src/crypto/common/VirtualMemory_unix.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/crypto/common/VirtualMemory_unix.cpp b/src/crypto/common/VirtualMemory_unix.cpp index 60d77cca..39106538 100644 --- a/src/crypto/common/VirtualMemory_unix.cpp +++ b/src/crypto/common/VirtualMemory_unix.cpp @@ -152,6 +152,8 @@ void *xmrig::VirtualMemory::allocateExecutableMemory(size_t size, bool hugePages void *xmrig::VirtualMemory::allocateLargePagesMemory(size_t size) { + size = align(size, 32 * 1024 * 1024); + # if defined(__APPLE__) void *mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, VM_FLAGS_SUPERPAGE_SIZE_2MB, 0); # elif defined(__FreeBSD__) @@ -166,7 +168,7 @@ void *xmrig::VirtualMemory::allocateLargePagesMemory(size_t size) constexpr int flag_2mb = 0; # endif - void *mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB | MAP_POPULATE | flag_2mb, 0, 0); + void *mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB | MAP_POPULATE | (25 << MAP_HUGE_SHIFT), 0, 0); # endif