pub struct PurgeAllReport {
pub arena_bytes: usize,
pub hole_bytes: usize,
pub theaps_swept: usize,
pub theaps_pending: usize,
pub theaps_orphaned: usize,
pub gated: bool,
pub complete: bool,
pub arenas_reclaimed: usize,
pub arena_reclaim_bytes: usize,
pub arenas_kept: usize,
pub subprocs_pending: usize,
pub reclaimed: bool,
}Expand description
What a purge_all / purge_all_ex call returned to the OS and which threads it
could not reach (issue #366). Mirrors mi_purge_all_report_t.
Fields§
§arena_bytes: usizeBytes returned to the OS by the arena passes.
hole_bytes: usizeBytes returned by hole purging (every swept thread plus abandoned pages).
theaps_swept: usizeThreads claimed and swept by this call, the caller included.
theaps_pending: usizeRegistered threads not reached within wait_ms. Non-zero is the expected shape in
a default (ungated) build with running threads.
theaps_orphaned: usizePre-fork threads of vanished threads, never touched.
gated: boolWhether the allocator was built with the owner gate (the crate’s owner-gate
feature, C’s MI_OWNER_GATE=1). Configuration, not completion.
complete: booltheaps_pending == 0 && theaps_orphaned == 0.
arenas_reclaimed: usizeArenas this call released to the OS, their metadata included.
Non-zero only with PurgeFlags::RECLAIM.
arena_reclaim_bytes: usizeThe reservation bytes those arenas held.
arenas_kept: usizeArenas this call saw completely free and did NOT release, including all arenas
created through the public C reserve/manage APIs (with or without an arena ID,
exclusive or not). A returned mi_arena_id_t has no public unpin operation.
subprocs_pending: usizeSub-processes whose threads could not all be claimed at one instant, so nothing was
released in them. Retry at a more quiescent point; this is the same
“pending” shape as PurgeAllReport::theaps_pending, one level up.
reclaimed: boolWhether the reclaim pass RAN with nothing blocking it: the flag was
passed, no sub-process was pending, and no other arena pass held the layer. Says
nothing about whether an arena was actually released – that is
PurgeAllReport::arenas_reclaimed.