From d7a725d88bf3704cd26bc779274265b310ac4b00 Mon Sep 17 00:00:00 2001 From: GuillaumeDIDIER Date: Sun, 12 Apr 2020 10:06:29 +0200 Subject: Add the MAP_HUGE_ flags for linux. Closes #1194 Use git libc for development (Remember to reset this to released version for the next nix release, once libc has released >=0.2.69) --- src/sys/mman.rs | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'src/sys') diff --git a/src/sys/mman.rs b/src/sys/mman.rs index 4e250501..dfa46264 100644 --- a/src/sys/mman.rs +++ b/src/sys/mman.rs @@ -77,6 +77,43 @@ libc_bitflags!{ /// Allocate the mapping using "huge pages." #[cfg(any(target_os = "android", target_os = "linux"))] MAP_HUGETLB; + /// Make use of 64KB huge page (must be supported by the system) + #[cfg(target_os = "linux")] + MAP_HUGE_64KB; + /// Make use of 512KB huge page (must be supported by the system) + #[cfg(target_os = "linux")] + MAP_HUGE_512KB; + /// Make use of 1MB huge page (must be supported by the system) + #[cfg(target_os = "linux")] + MAP_HUGE_1MB; + /// Make use of 2MB huge page (must be supported by the system) + #[cfg(target_os = "linux")] + MAP_HUGE_2MB; + /// Make use of 8MB huge page (must be supported by the system) + #[cfg(target_os = "linux")] + MAP_HUGE_8MB; + /// Make use of 16MB huge page (must be supported by the system) + #[cfg(target_os = "linux")] + MAP_HUGE_16MB; + /// Make use of 32MB huge page (must be supported by the system) + #[cfg(target_os = "linux")] + MAP_HUGE_32MB; + /// Make use of 256MB huge page (must be supported by the system) + #[cfg(target_os = "linux")] + MAP_HUGE_256MB; + /// Make use of 512MB huge page (must be supported by the system) + #[cfg(target_os = "linux")] + MAP_HUGE_512MB; + /// Make use of 1GB huge page (must be supported by the system) + #[cfg(target_os = "linux")] + MAP_HUGE_1GB; + /// Make use of 2GB huge page (must be supported by the system) + #[cfg(target_os = "linux")] + MAP_HUGE_2GB; + /// Make use of 16GB huge page (must be supported by the system) + #[cfg(target_os = "linux")] + MAP_HUGE_16GB; + /// Lock the mapped region into memory as with `mlock(2)`. #[cfg(target_os = "netbsd")] MAP_WIRED; -- cgit v1.2.3