Skip to content
Snippets Groups Projects

Replace madvise with MmapFlags

Merged vlorentz requested to merge no-madvise into master
9 files
+ 12
47
Compare changes
  • Side-by-side
  • Inline
Files
9
@@ -73,15 +73,11 @@ impl FrontCodedList<Mmap, Mmap> {
let data = unsafe {
mmap_rs::MmapOptions::new(bytearray_len as _)
.context("Could not initialize mmap")?
.with_flags(MmapFlags::TRANSPARENT_HUGE_PAGES)
.with_flags(MmapFlags::TRANSPARENT_HUGE_PAGES | MmapFlags::RANDOM_ACCESS)
.with_file(&bytearray_file, 0)
.map()
.with_context(|| format!("Could not mmap {}", bytearray_path.display()))?
};
#[cfg(target_os = "linux")]
unsafe {
libc::madvise(data.as_ptr() as *mut _, data.len(), libc::MADV_RANDOM)
};
// mmap pointers
let pointers_len = pointers_path
@@ -105,15 +101,11 @@ impl FrontCodedList<Mmap, Mmap> {
let pointers = unsafe {
mmap_rs::MmapOptions::new(pointers_len as _)
.context("Could not initialize mmap")?
.with_flags(MmapFlags::TRANSPARENT_HUGE_PAGES)
.with_flags(MmapFlags::TRANSPARENT_HUGE_PAGES | MmapFlags::RANDOM_ACCESS)
.with_file(&pointers_file, 0)
.map()
.with_context(|| format!("Could not mmap {}", pointers_path.display()))?
};
#[cfg(target_os = "linux")]
unsafe {
libc::madvise(data.as_ptr() as *mut _, data.len(), libc::MADV_RANDOM)
};
Ok(FrontCodedList {
k,
Loading