Enum nix::sys::mman::MmapAdvise

#[repr(i32)]
#[non_exhaustive]
pub enum MmapAdvise {    
    MADV_NORMAL,
    MADV_RANDOM,
    MADV_SEQUENTIAL,
    MADV_WILLNEED,
    MADV_DONTNEED,
    MADV_REMOVE,
    MADV_DONTFORK,
    MADV_DOFORK,
    MADV_HWPOISON,
    MADV_MERGEABLE,
    MADV_UNMERGEABLE,
    MADV_SOFT_OFFLINE,
    MADV_HUGEPAGE,
    MADV_NOHUGEPAGE,
    MADV_DONTDUMP,
    MADV_DODUMP,
    MADV_FREE,
}
Documentation

Usage information for a range of memory to allow for performance optimizations by the kernel.

Used by madvise.

Variants

MADV_NORMAL

No further special treatment. This is the default.

MADV_RANDOM

Expect random page references.

MADV_SEQUENTIAL

Expect sequential page references.

MADV_WILLNEED

Expect access in the near future.

MADV_DONTNEED

Do not expect access in the near future.

MADV_REMOVE

Free up a given range of pages and its associated backing store.

MADV_DONTFORK

Do not make pages in this range available to the child after a fork(2).

MADV_DOFORK

Undo the effect of MADV_DONTFORK.

MADV_HWPOISON

Poison the given pages.

Subsequent references to those pages are treated like hardware memory corruption.

MADV_MERGEABLE

Enable Kernel Samepage Merging (KSM) for the given pages.

MADV_UNMERGEABLE

Undo the effect of MADV_MERGEABLE

MADV_SOFT_OFFLINE

Preserve the memory of each page but offline the original page.

MADV_HUGEPAGE

Enable Transparent Huge Pages (THP) for pages in the given range.

MADV_NOHUGEPAGE

Undo the effect of MADV_HUGEPAGE.

MADV_DONTDUMP

Exclude the given range from a core dump.

MADV_DODUMP

Undo the effect of an earlier MADV_DONTDUMP.

MADV_FREE

Specify that the application no longer needs the pages in the given range.

Trait Implementations

impl Clone for MmapAdvise
fn clone(&Self) -> MmapAdvise
impl Copy for MmapAdvise
impl Debug for MmapAdvise
fn fmt(&Self, f: &mut $crate::fmt::Formatter<'_>) -> $crate::fmt::Result
impl Eq for MmapAdvise
impl Hash for MmapAdvise
fn hash<__H: $crate::hash::Hasher>(&Self, state: &mut __H) -> ()
impl Ord for MmapAdvise
fn cmp(&Self, other: &MmapAdvise) -> $crate::cmp::Ordering
impl PartialEq<MmapAdvise> for MmapAdvise
fn eq(&Self, other: &MmapAdvise) -> bool

Auto Trait Implementations

impl Send for MmapAdvise
impl Sync for MmapAdvise
impl Unpin for MmapAdvise

Blanket Implementations

impl<T> Any for T
where
    T: 'static + ?Sized,
fn type_id(&Self) -> TypeId
impl<T> Borrow<T> for T
where
    T: ?Sized,
fn borrow(&Self) -> &T
impl<T> BorrowMut<T> for T
where
    T: ?Sized,
fn borrow_mut(&mut Self) -> &mut T
impl<T> From<T> for T
fn from(t: T) -> T

Returns the argument unchanged.

impl<T, U> Into<U> for T
where
    U: From<T>,
fn into(Self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

impl<T> ToOwned for T
where
    T: Clone,
type Owned = T
fn to_owned(&Self) -> T
fn clone_into(&Self, target: &mut T)
impl<T, U> TryFrom<U> for T
where
    U: Into<T>,
type Error = Infallible
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto<U> for T
where
    U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
fn try_into(Self) -> Result<U, <U as TryFrom<T>>::Error>