pub struct AddressSpaceCpuState { /* private fields */ }Expand description
Shared CPU-footprint state for one hardware page-table root.
Every scheduler token for threads sharing one OS address space must carry the same tracker. The runtime publishes a CPU bit before installing the root and clears it only after replacing the hardware root, so page-table mutation can target every CPU that may retain a translation.
Implementations§
Source§impl AddressSpaceCpuState
impl AddressSpaceCpuState
Sourcepub fn new(root: PhysAddr) -> AddressSpaceCpuState
pub fn new(root: PhysAddr) -> AddressSpaceCpuState
Creates inactive runtime state permanently bound to one mm root.
Sourcepub fn with_mm_active_mask(
root: PhysAddr,
active_mask: Arc<Atomic<usize>>,
) -> AddressSpaceCpuState
pub fn with_mm_active_mask( root: PhysAddr, active_mask: Arc<Atomic<usize>>, ) -> AddressSpaceCpuState
Shares the MM’s authoritative footprint; only its activation leases may publish or clear bits. Runtime tokens retain separate reclamation counts.
Sourcepub fn active_mask(&self) -> usize
pub fn active_mask(&self) -> usize
Returns the CPUs that may currently retain translations for this root.
Auto Trait Implementations§
impl !Freeze for AddressSpaceCpuState
impl RefUnwindSafe for AddressSpaceCpuState
impl Send for AddressSpaceCpuState
impl Sync for AddressSpaceCpuState
impl Unpin for AddressSpaceCpuState
impl UnsafeUnpin for AddressSpaceCpuState
impl UnwindSafe for AddressSpaceCpuState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more