pub struct TlbFlushBatch { /* private fields */ }Expand description
Batched TLB flush accumulator.
Collects up to MAX_BATCH virtual addresses for individual flushes.
If more than MAX_BATCH addresses are accumulated, the entire TLB is
flushed on commit. This reduces the overhead of multiple individual
invlpg instructions in loops (e.g., munmap of many pages).
Implementations§
Source§impl TlbFlushBatch
impl TlbFlushBatch
Sourcepub fn flush_with_shootdown(self)
pub fn flush_with_shootdown(self)
Flush locally and broadcast TLB shootdown IPI to all other CPUs.
On single-CPU systems the IPI is a no-op (no other CPUs to notify). On multi-CPU systems, remote CPUs receive vector 49 and flush their entire TLB in the handler.