Procházet zdrojové kódy

host_memory: Allocate virtual_base with MAP_NORESERVE

Specify that we do not require swap to be reserved for this address range;
allow overcommitting.
Merry před 3 roky
rodič
revize
4d7be85e73
1 změnil soubory, kde provedl 2 přidání a 2 odebrání
  1. 2 2
      src/common/host_memory.cpp

+ 2 - 2
src/common/host_memory.cpp

@@ -393,8 +393,8 @@ public:
         }
         }
 
 
         // Virtual memory initialization
         // Virtual memory initialization
-        virtual_base = static_cast<u8*>(
-            mmap(nullptr, virtual_size, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0));
+        virtual_base = static_cast<u8*>(mmap(nullptr, virtual_size, PROT_NONE,
+                                             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{};