Skip to content

Commit 4033e06

Browse files
authored
sys::man adding MADV_POPULATE_READ and MAP_POPULATE_WRITE. (#2565)
More specialised than `MmapFlags::MAP_POPULATE`, another difference being it does not silently fail. - `MADV_POPULATE_READ` to pre-populate pages ahead of read accesses. - `MADV_POPULATE_WRITE` to pre-populate pages ahead of subsequent writes.
1 parent 5674377 commit 4033e06

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

changelog/2565.added.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Add `sys::mman::MmapAdvise` `MADV_POPULATE_READ`, `MADV_POPULATE_WRITE` for Linux and Android targets
2+

src/sys/mman.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,13 @@ libc_enum! {
328328
/// Undo `MADV_WIPEONFORK` when it applied.
329329
#[cfg(linux_android)]
330330
MADV_KEEPONFORK,
331+
/// Pre-load the address range for reading to reduce page-fault latency.
332+
#[cfg(linux_android)]
333+
MADV_POPULATE_READ,
334+
/// Pre-fault the address range for writing to reduce page-fault
335+
/// latency on subsequent writes.
336+
#[cfg(linux_android)]
337+
MADV_POPULATE_WRITE,
331338
}
332339
}
333340

0 commit comments

Comments
 (0)