tlb_gather_mmu_vma(9)
π tlb_gather_mmu_vma(9) β like, the Kernel API Manual page you actually needed π
okay bestie, gather round (pun absolutely intended, iykyk) because this one is from the Kernel API Manual and it is so specific and honestly kind of iconic for it.
β¨ NAME β¨
tlb_gather_mmu_vma β sets up an mmu_gather structure so you can operate on a single VMA. that's it, that's the whole gig, no cap π
πΈ SYNOPSIS πΈ
void tlb_gather_mmu_vma (struct mmu_gather *tlb , struct vm_area_struct *vma );
literally just hand it a tlb and a vma and it returns void. no drama, no return value, nothing to check. slay π
π¦ ARGUMENTS π¦
tlbβ themmu_gatherstructure you're initializing. it's the thing getting set up, bestie, be nice to it π«Άvmaβ thevm_area_struct. yes, the VMA from the name. main character energy fr π
π₯ DESCRIPTION π₯
so here's the vibe: you call this to initialize an (on-stack) mmu_gather structure for operating on a single VMA. on-stack, meaning it lives right there on your stack, no malloc-ing required, we love a low-maintenance queen β¨
now, in contrast to tlb_gather_mmu, calling this function will not require another call to tlb_start_vma. one and done. no follow-up needed, she's self-sufficient πββοΈ
and in contrast to tlb_start_vma, this function will not call flush_cache_range. like, at all. zero. none. so don't go expecting that cache flush, because she is simply not doing it, okay? π
oh and for hugetlb VMAs? this function will also initialize the mmu_gather page_size accordingly, so you do not need a separate call to tlb_change_page_size. that's right, it handles the big pages itself too. multi-talented. ate and left no crumbs π
real talk though: the*not*onflush_cache_rangeis in the original and it's in bold for a reason β if your code is relying on a cache flush happening here, it is not happening here. noted? noted. π
π SEE ALSO π
peep these, they're the rest of the squad:
- Kernel file
./mm/mmu_gather.c tlb_flush_rmaps(9)tlb_remove_table_sync_rcu(9)tlb_gather_mmu(9)tlb_gather_mmu_fullmm(9)tlb_finish_mmu(9)
and that's the whole page, bestie π this lil gem lives over in ./mm, dated October 2026, and it's brought to you by tlb_gather_mmu_vma(9) from the Kernel API Manual. go forth and initialize your mmu_gather for that single VMA, you absolute icon ππ§ββοΈ
π¦ 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