__memcg_kmem_uncharge_page(9)
π
__memcg_kmem_uncharge_page β uncharge a kmem page
okay so bestie, welcome to the Kernel API Manual β¨ this one's a function page, and it's short and sweet β honestly iconic for that. Let's get into it π«Ά
πΈ NAME πΈ
__memcg_kmem_uncharge_page β uncharge a kmem page π
Like, it takes the charge back off. Un-charge. De-charge. Give the memory accounting its bag back. no cap.
β¨ SYNOPSIS β¨
void __memcg_kmem_uncharge_page (struct page *page , int order );
that's it. that's the whole signature. two args, returns nothing (void), does its thing. slay π
π ARGUMENTS π
pageβ the page to uncharge π that's page, astruct page *. this is the main character of the whole operation, frorderβ the allocation order π₯ like, how big the allocation was, as in the buddy allocator's order. you're telling it what size situation you're undoing
π¦ SEE ALSO π¦
okay this is the part where the manpage goes absolutely feral with the cross-references, and honestly? obsessed. the whole squad lives in the kernel file ./mm/memcontrol.c:
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_mm(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)β the literal opposite of this one, the charge to our uncharge, iykyk π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)
like, thirty-seven cross-refs. thirty-seven. she ate and left no crumbs π
ngl there are no options, no env vars, no exit statuses, and no bug notes on this page β it's just a humble little uncharge function doing its job. vibe check: passed π
mwah π this page came from the ./mm source tree, dated October 2026, and it lives happily under the __memcg_kmem_uncharge_page(9) name. go uncharge something, bestie β responsibly π§β¨
π¦ 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