host_memory: Allocate virtual_base with MAP_NORESERVE

Specify that we do not require swap to be reserved for this address range;
allow overcommitting.
This commit is contained in:
Merry 2023-01-01 11:14:44 +00:00
parent 05c709bebe
commit 4d7be85e73

View file

@ -393,8 +393,8 @@ public:
} }
// Virtual memory initialization // Virtual memory initialization
virtual_base = static_cast<u8*>( virtual_base = static_cast<u8*>(mmap(nullptr, virtual_size, PROT_NONE,
mmap(nullptr, virtual_size, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0)); MAP_PRIVATE | MAP_ANONYMOUS | MAP_NORESERVE, -1, 0));
if (virtual_base == MAP_FAILED) { if (virtual_base == MAP_FAILED) {
LOG_CRITICAL(HW_Memory, "mmap failed: {}", strerror(errno)); LOG_CRITICAL(HW_Memory, "mmap failed: {}", strerror(errno));
throw std::bad_alloc{}; throw std::bad_alloc{};