pvm_determin...from_reverse(9)
π pvm_determine_end_from_reverse(9) β like, the kernel API manual, bestie β¨
okay so real talk, this one lives in the Kernel API Manual (section 9, which is the "kernel internals" section, iykyk) and it's genuinely one of those tiny helper functions that lowkey carries the whole vmalloc vibe. let's get into it π«Ά
πΈ NAME πΈ
pvm_determine_end_from_reverse β find the highest aligned address of free block below VMALLOC_END
like... that's the whole job. it finds the highest aligned address of a free block, and it stays below VMALLOC_END. no cap. π
β¨ SYNOPSIS β¨
unsigned long pvm_determine_end_from_reverse (struct vmap_area **va ,
unsigned long align );
(yes the spacing is exactly like that, don't come for me, that's literally what the page says π)
π ARGUMENTS π
vaβ okay so this one is a double-duty icon, main character energy fr: in β the VA we start the search from (and bestie, the search runs in reverse order); out β the VA with the highest aligned end address. it goes in as a starting point and comes out as the winner πalignβ the alignment for the required highest address. that's the constraint, that's the vibe check the result has to pass β¨
π¦ RETURN π¦
returns the determined end address within vmap_area. that's the whole teardown, the function ate and left no crumbs π
π SEE ALSO π
kernel file ./mm/vmalloc.c β that's the home base, go say hi π
and literally the entire vmalloc extended universe, in the order the page gives them:
vunmap_range(9), vmap_pages_range(9), vm_area_map_pages(9), vm_area_unmap_pages(9), new_vmap_block(9), vm_unmap_aliases(9), vm_unmap_ram(9), vm_map_ram(9), vm_area_add_early(9), vm_area_register_early(9), get_vm_area(9), find_vm_area(9), remove_vm_area(9), vfree_atomic(9), vfree(9), vunmap(9), vmap(9), vmap_pfn(9), __vmalloc_node_range(9), __vmalloc_node(9), vmalloc(9), vmalloc_huge_node(9), vzalloc(9), vmalloc_user(9), vmalloc_node(9), vzalloc_node(9), vrealloc_node_align(9), vmalloc_32(9), vmalloc_32_user(9), vread_iter(9), remap_vmalloc_range_partial(9), remap_vmalloc_range(9), pvm_find_va_enclose_addr(9), pcpu_get_vm_areas(9), pcpu_free_vm_areas(9)
like... the whole friend group showed up to the group chat ππ«Ά
bestie heads up: every single one of those is section9, so if you're trying tomanany of them and it doesn't work, you forgot the section number and that's on you, not on the page π
that's the page!! short and sweet, unlike the SEE ALSO list which is giving full syllabus energy π this one's from ./mm, dated October 2026, and it's pvm_determin...from_reverse(9) β yeah the title got truncated by the manpage formatter, iconic honestly, slay ππ
π¦ 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