pub struct VmallocAttr {
pub task_id: u64,
pub pid: u32,
pub tid: u32,
pub silo_id: u32,
pub size: usize,
pub alloc_seq: u64,
pub caller_file: &'static str,
pub caller_line: u32,
pub caller_column: u32,
}Expand description
Attribution snapshot captured at vmalloc time.
Stored inside each live allocation node so that dump_live_allocations()
can attribute each mapping to a task and silo without external state.
Designed for post-mortem leak analysis:
alloc_seqgives ordering (smallest = oldest live alloc).pid/tid/silo_ididentify the requesting workload.sizeis the requested byte count, not the page-rounded value.
Fields§
§task_id: u64Scheduler task id (0 = kernel or pre-scheduler context).
pid: u32PID of the requesting task (0 = kernel or pre-scheduler context).
tid: u32TID of the requesting task.
silo_id: u32Silo that owns the task (0 = kernel / silo lookup failed / not in silo).
size: usizeRequested allocation size in bytes (before page-rounding).
alloc_seq: u64Monotonic per-boot sequence number (see VMALLOC_ALLOC_SEQ).
caller_file: &'static strBest-effort callsite file of the allocator request.
caller_line: u32Best-effort callsite line of the allocator request.
caller_column: u32Best-effort callsite column of the allocator request.
Trait Implementations§
Source§impl Clone for VmallocAttr
impl Clone for VmallocAttr
Source§fn clone(&self) -> VmallocAttr
fn clone(&self) -> VmallocAttr
Returns a duplicate of the value. Read more
1.0.0 · 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 VmallocAttr
impl Debug for VmallocAttr
Source§impl Default for VmallocAttr
impl Default for VmallocAttr
Source§fn default() -> VmallocAttr
fn default() -> VmallocAttr
Returns the “default value” for a type. Read more
impl Copy for VmallocAttr
Auto Trait Implementations§
impl Freeze for VmallocAttr
impl RefUnwindSafe for VmallocAttr
impl Send for VmallocAttr
impl Sync for VmallocAttr
impl Unpin for VmallocAttr
impl UnsafeUnpin for VmallocAttr
impl UnwindSafe for VmallocAttr
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more