vma_kernel_pagesize(9)
π vma_kernel_pagesize(9) π
okay so this is a page from the Kernel API Manual bestie, and it's genuinely short and sweet β we love a low-maintenance icon β¨
πΈ NAME πΈ
vma_kernel_pagesize β the default page size granularity for this VMA. that's it, that's the whole vibe π
β SYNOPSIS β
unsigned long vma_kernel_pagesize (struct vm_area_struct *vma );
π¦ ARGUMENTS π¦
vmaβ the user mapping. yeah, that's the whole description, she's mysterious like that π
π₯ DESCRIPTION π₯
okay bestie, listen up, this is actually important π
The kernel page size tells you the granularity at which VMA modifications can be performed. The way that works irl: folios in this VMA are gonna be aligned to β and be at least the size of β the number of bytes this function hands back. no cap, that's the contract π«Ά
And here's the plot twist that trips people up: the default kernel page size is not affected by Transparent Huge Pages being in effect. like, THP can be doing its whole main character thing over there and this number does not care. zero. none. unaffected. π
π RETURN π
The default page size granularity for this VMA. that's the number, go off π
β¨ SEE ALSO β¨
now listen, this list is LONG and I refuse to leave a single one out, so here's the entire squad in order β no skipping, no summarising, we respect every single entry ππ
also the kernel file is ./include/linux/mm.h, go peek if you're curious π§
folio_page_idx(9), vma_flag_t(9), fault_flag_allow_retry_first(9),
folio_order(9), folio_reset_order(9), folio_mapcount(9), folio_mapped(9),
thp_order(9), thp_size(9), folio_get(9), folio_put(9), folio_put_refs(9),
folios_put(9), vma_flags_is_cow_mapping(9), vma_is_cow_mapping(9),
vma_desc_is_cow_mapping(9), folio_pfn(9), folio_mk_pte(9), folio_mk_pmd(9),
folio_mk_pud(9), folio_maybe_dma_pinned(9), is_zero_page(9),
is_zero_folio(9), folio_nr_pages(9), folio_next(9), folio_shift(9),
folio_size(9), folio_maybe_mapped_shared(9), folio_expected_ref_count(9),
zap_vma(9), ptdesc_address(9), ptdesc_set_kernel(9), ptdesc_clear_kernel(9),
ptdesc_test_kernel(9), pagetable_alloc(9), pagetable_free(9), vma_lookup(9),
vma_start_pgoff(9), vma_end_pgoff(9), vma_last_pgoff(9),
vma_start_anon_pgoff(9), vma_end_anon_pgoff(9), vma_last_anon_pgoff(9),
mmap_action_remap(9), mmap_action_remap_full(9), mmap_action_ioremap(9),
mmap_action_ioremap_full(9), mmap_action_simple_ioremap(9),
mmap_action_map_kernel_pages(9), mmap_action_map_kernel_pages_full(9),
range_is_subset(9), range_in_vma(9), range_in_vma_desc(9), clear_pages(9)
ngl if you got here looking for THP answers, go readthp_order(9)andthp_size(9)β this page is about the default page size and she is NOT doing THP discourse today π
and that's the whole page, bestie β courtesy of the fine folks in ./include/linux, October 2026 edition π mwah, go read some folios, ily π«Άπ
π¦ 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