vma_mmu_pagesize(9)
π vma_mmu_pagesize π
okay so bestie, welcome to section 9 of the Kernel API Manual β we're talking vma_mmu_pagesize(9) today and honestly? she's lowkey iconic. this is the page about the default MMU page size granularity for a VMA, and yes we're gonna get into it π
β¨ NAME β¨
vma_mmu_pagesize β Default MMU page size granularity for this VMA.
like literally that's it, that's her whole job π
πΈ SYNOPSIS πΈ
unsigned long vma_mmu_pagesize (struct vm_area_struct *vma );
so she takes one (1) pointer and hands you back an unsigned long. no drama. no cap π«Ά
π¦ ARGUMENTS π¦
vmaβ The user mapping. that's thestruct vm_area_struct *bestie, the whole reason we're here β¨
π DESCRIPTION π
okay so here's the vibe check π
In the common case (the normal one, the default one, the one that just works π), the default page size used by the MMU matches the default page size used by the kernel β and if you wanna peep that one, go look at vma_kernel_pagesize. cute little sibling energy fr fr π
But on architectures where it differs?? that's where it gets spicy π₯ β an architecture-specific 'strong' version of this symbol is required. like, required required. not optional. the arch has to bring its own, periodt π
And here's the important part, the part where nobody's allowed to be confused π: the default MMU page size is not affected by:
- Transparent Huge Pages being in effect β nope, doesn't touch it, THP can be doing its whole thing and this value stays unbothered πββοΈ
- any usage of larger MMU page sizes β also no, and that includes either architectural huge-page mappings or other explicit/implicit coalescing of virtual ranges performed by the MMU π§
bestie please internalise this one: THP and big pages are living their lives and they do NOT change what this function returns. it's giving "unaffected queen" π
β RETURN β
The default MMU page size granularity for this VMA. that's the whole return value, that's what you get, slay π
π SEE ALSO π
Kernel file ./mm/vma.c β and the whole friend group π
go read them, they're all main character energy in their own way ππ
ngl the moral of the story: this is the default MMU page size granularity for a VMA, it matches the kernel's default in the common case, archs that differ must supply a 'strong' version, and bigger pages do not change it. iykyk π§β¨
and that's the page!! π sign-off time: this lil beauty came out of the ./mm source tree, dated October 2026, and it lives in the Kernel API Manual. mwah, go touch some page tables π
π«ΆπΈ
π¦ 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