#[repr(i32)]pub enum MadviseAdvice {
Show 23 variants
Normal = 0,
Random = 1,
Sequential = 2,
WillNeed = 3,
DontNeed = 4,
Free = 8,
Remove = 9,
DontFork = 10,
DoFork = 11,
Mergeable = 12,
Unmergeable = 13,
HugePage = 14,
NoHugePage = 15,
DontDump = 16,
DoDump = 17,
WipeOnFork = 18,
KeepOnFork = 19,
Cold = 20,
PageOut = 21,
PopulateRead = 22,
PopulateWrite = 23,
DontNeedLocked = 24,
Collapse = 25,
}Expand description
Conseil kernel sur le pattern d’accès mémoire pour madvise(2).
Ces conseils sont de simples hints : le kernel peut les ignorer.
Les valeurs numériques correspondent aux constantes MADV_* de Linux.
Variants§
Normal = 0
Comportement normal (supprime les conseils précédents).
Random = 1
Accès aléatoires : désactive le préfetch.
Sequential = 2
Accès séquentiels : active un préfetch agressif.
WillNeed = 3
Les pages seront bientôt accédées (préfetch immédiat).
DontNeed = 4
Les pages ne sont plus nécessaires ; libère la mémoire physique sans désallouer le mapping (les pages sont remises à zéro au prochain accès).
Free = 8
Libère les pages propres sans désallouer (Linux 4.5+).
Remove = 9
Supprime les pages et l’espace de backing (seulement pour
MAP_SHARED sur des fichiers supportant FALLOC_FL_PUNCH_HOLE).
DontFork = 10
Les pages ne doivent pas être héritées par les processus fils.
DoFork = 11
Annule DONTFORK.
Mergeable = 12
Active le KSM (Kernel Samepage Merging) pour ces pages.
Unmergeable = 13
Désactive le KSM pour ces pages.
HugePage = 14
Active les huge pages transparentes.
NoHugePage = 15
Désactive les huge pages transparentes.
DontDump = 16
Exclut ces pages des core dumps.
DoDump = 17
Réintègre ces pages dans les core dumps.
WipeOnFork = 18
Efface les pages lors d’un fork (Linux 4.14+).
KeepOnFork = 19
Conserve les pages lors d’un fork (Linux 4.14+).
Cold = 20
Indique que les pages sont “froides” (Linux 5.4+).
PageOut = 21
Pousse les pages vers le swap (Linux 5.4+).
PopulateRead = 22
Pré-fault les pages en lecture (Linux 5.14+).
PopulateWrite = 23
Pré-fault les pages en écriture (Linux 5.14+).
DontNeedLocked = 24
Libère les pages verrouillées (Linux 5.18+).
Collapse = 25
Compacte les huge pages transparentes (Linux 6.1+).
Trait Implementations§
Source§impl Clone for MadviseAdvice
impl Clone for MadviseAdvice
Source§fn clone(&self) -> MadviseAdvice
fn clone(&self) -> MadviseAdvice
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more