__memcg_kmem_uncharge_page(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… __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, a struct page *. this is the main character of the whole operation, fr
  • order β€” 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:

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