Lines Matching defs:Mm
8 //! instance of [`Mm`], which keeps track of multiple VMAs (virtual memory areas). Each VMA
30 /// This represents the address space of a userspace process, so each process has one `Mm`
40 /// The `ARef<Mm>` smart pointer holds an `mmgrab` refcount. Its destructor may sleep.
46 /// [`mmget_not_zero`]: Mm::mmget_not_zero
48 pub struct Mm {
53 unsafe impl Send for Mm {}
54 // SAFETY: All methods on `Mm` can be called in parallel from several threads.
55 unsafe impl Sync for Mm {}
58 unsafe impl AlwaysRefCounted for Mm {
74 /// This type is like [`Mm`], but with non-zero `mm_users`. It can only be used when `mm_users` can
85 mm: Mm,
108 // Make all `Mm` methods available on `MmWithUser`.
110 type Target = Mm;
113 fn deref(&self) -> &Mm {
119 impl Mm {
133 pub unsafe fn from_raw<'a>(ptr: *const bindings::mm_struct) -> &'a Mm {