mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 11:02:59 +02:00
a891789c78
This patch introduces Memory::MF_HUGE_HINT which indicates that allocateMappedMemory() shall return a pointer to a large memory page. However the flag is a hint because we're not guaranteed in any way that we will get back a large memory page. There are several restrictions: - Large/huge memory pages aren't enabled by default on modern OSes (Windows 10 and Linux at least), and should be manually enabled/reserved. - Once enabled, it should be kept in mind that large pages are physical only, they can't be swapped. - Memory fragmentation can affect the availability of large pages, especially after running the OS for a long time and/or running along many other applications. Memory::allocateMappedMemory() will fallback to 4KB pages if it can't allocate 2MB large pages (if Memory::MF_HUGE_HINT is provided) Currently, Memory::MF_HUGE_HINT only works on Windows. The hint will be ignored on Linux, 4KB pages will always be returned. Differential Revision: https://reviews.llvm.org/D58718 llvm-svn: 355065 |
||
---|---|---|
.. | ||
COM.inc | ||
DynamicLibrary.inc | ||
explicit_symbols.inc | ||
Host.inc | ||
Memory.inc | ||
Mutex.inc | ||
Path.inc | ||
Process.inc | ||
Program.inc | ||
RWMutex.inc | ||
Signals.inc | ||
Threading.inc | ||
ThreadLocal.inc | ||
Watchdog.inc | ||
WindowsSupport.h |