pub struct PageGeometry {
pub host_page: u64,
pub hvf_stage2_granule: u64,
pub tracking_page_default: u64,
pub tracking_page_hot: u64,
}Expand description
Page geometry constants — three sizes that must never be conflated.
On Apple Silicon the host page is 16 KiB, the HVF stage-2 granule is 16 KiB, and the dirty-tracking page defaults to 2 MiB with adaptive step-down to 16 KiB for hot regions. See 99-key-decisions.md § D21.
Fields§
§host_page: u64Apple Silicon host page (16 KiB) — vm_page_size returns this.
hvf_stage2_granule: u64HVF stage-2 translation granule (16 KiB on Apple Silicon).
tracking_page_default: u64Default tracking-page granularity for dirty-page bitmaps (2 MiB).
tracking_page_hot: u64Step-down tracking page used by the adaptive heuristic for hot regions (16 KiB).
Implementations§
Source§impl PageGeometry
impl PageGeometry
Sourcepub const APPLE_SILICON: Self
pub const APPLE_SILICON: Self
The Apple-Silicon page geometry. macOS 15+ on M-series.
Trait Implementations§
Source§impl Clone for PageGeometry
impl Clone for PageGeometry
Source§fn clone(&self) -> PageGeometry
fn clone(&self) -> PageGeometry
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PageGeometry
impl Debug for PageGeometry
impl Copy for PageGeometry
Auto Trait Implementations§
impl Freeze for PageGeometry
impl RefUnwindSafe for PageGeometry
impl Send for PageGeometry
impl Sync for PageGeometry
impl Unpin for PageGeometry
impl UnsafeUnpin for PageGeometry
impl UnwindSafe for PageGeometry
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