get_mem_cgroup_from_mm(9)
π get_mem_cgroup_from_mm β Kernel API Manual β¨
okay so bestie, welcome to the get_mem_cgroup_from_mm(9) page from the Kernel API Manual β this is the one that gets you a reference on a given mm_struct's memcg, and she's lowkey iconic for it π
π¦ NAME
get_mem_cgroup_from_mm β Obtain a reference on given mm_struct's memcg. that's it, that's the whole vibe π
πΈ SYNOPSIS
struct mem_cgroup * get_mem_cgroup_from_mm (struct mm_struct *mm );
literally just hand her an mm and she hands you back a struct mem_cgroup *, no cap β¨
π ARGUMENTS
mmβ themmfrom which the memcg should be extracted. and yes, queen, it can beNULLβ she's flexible like that π
π DESCRIPTION
So here's the tea β: she obtains a reference on mm->memcg and returns it if it's successful. simple, clean, slay.
But if mm is NULL, bestie, the memcg gets chosen like this β in order, no skipping:
- The active memcg, if set. π
current->mm->memcg, if available.- root memcg β the fallback queen of the whole situation π
β οΈ also important: ifmem_cgroupis disabled,NULLis returned. not a vibe, but it's the rule, fr fr π
π«Ά SEE ALSO
Kernel file ./mm/memcontrol.c β and the whole extended friend group, in order:
get_mem_cgroup_css_from_folio(9)page_cgroup_ino(9)lruvec_page_state_monotonic(9)mod_memcg_state(9)mod_lruvec_state(9)count_memcg_events(9)get_mem_cgroup_from_current(9)get_mem_cgroup_from_folio(9)mem_cgroup_iter(9)mem_cgroup_iter_break(9)mem_cgroup_scan_tasks(9)folio_lruvec_lock(9)folio_lruvec_lock_irq(9)folio_lruvec_lock_irqsave(9)mem_cgroup_update_lru_size(9)mem_cgroup_margin(9)mem_cgroup_print_oom_context(9)mem_cgroup_print_oom_meminfo(9)mem_cgroup_get_oom_group(9)consume_stock(9)__memcg_kmem_charge_page(9)__memcg_kmem_uncharge_page(9)mem_cgroup_wb_stats(9)mem_cgroup_from_private_id(9)mem_cgroup_css_reset(9)mem_cgroup_calculate_protection(9)mem_cgroup_charge_hugetlb(9)mem_cgroup_swapin_charge_folio(9)mem_cgroup_replace_folio(9)mem_cgroup_migrate(9)mem_cgroup_sk_charge(9)mem_cgroup_sk_uncharge(9)__mem_cgroup_try_charge_swap(9)__mem_cgroup_uncharge_swap(9)obj_cgroup_may_zswap(9)obj_cgroup_charge_zswap(9)obj_cgroup_uncharge_zswap(9)
okay that's the whole page, mwah π this little beauty lives under ./mm, dated October 2026, and she's served up fresh from the Kernel API Manual β go forth and reference your memcgs responsibly, bestie π§π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms