pub enum MonitorWaitKind {
Waitpkg,
Mwaitx,
ArmWfe,
}Expand description
Which monitor-wait instruction family this host runs.
Variants§
Waitpkg
Intel WAITPKG: UMONITOR / UMWAIT (also AMD Zen 5+).
Preferred when both families exist: the deadline is an
absolute TSC value (no u32 clamp) and the C-state hint is
explicit.
Mwaitx
AMD MONITORX / MWAITX (Excavator+, all Zen).
ArmWfe
AArch64 LDAXR + WFE: load-exclusive arms the exclusive
monitor on the line; the global monitor’s Exclusive->Open
transition - ANY store to the line, including from another
core or process - generates the wake event with no explicit
SEV (ARM barrier-litmus appendix). Base-ISA instructions,
so every aarch64 host takes this arm; wait granularity is
bounded by interrupts and the kernel’s timer event stream
rather than a per-wait hardware deadline, and the loop
enforces the cycle budget on CNTVCT_EL0.
Trait Implementations§
Source§impl Clone for MonitorWaitKind
impl Clone for MonitorWaitKind
Source§fn clone(&self) -> MonitorWaitKind
fn clone(&self) -> MonitorWaitKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for MonitorWaitKind
Source§impl Debug for MonitorWaitKind
impl Debug for MonitorWaitKind
impl Eq for MonitorWaitKind
Source§impl PartialEq for MonitorWaitKind
impl PartialEq for MonitorWaitKind
Source§fn eq(&self, other: &MonitorWaitKind) -> bool
fn eq(&self, other: &MonitorWaitKind) -> bool
self and other values to be equal, and is used by ==.