memblock_find_in_range(9)
π NAME π
memblock_find_in_range β bestie, this is the one that finds free area in given range, no cap π―β¨
πΈ SYNOPSIS πΈ
phys_addr_t __init_memblock memblock_find_in_range (phys_addr_t start ,
phys_addr_t end , phys_addr_t size , phys_addr_t align );
(it lives in the Kernel API Manual, if you were wondering where this Queen resides π)
π ARGUMENTS π
startβ where the candidate range begins, the starting line of the whole search, okurrr π±endβ where the candidate range stops. And listen: this one can legitimately beMEMBLOCK_ALLOC_ANYWHEREorMEMBLOCK_ALLOC_ACCESSIBLE, so it's not always a plain ol' number, she has β¨optionsβ¨sizeβ how big a free area you're trying to find. That's the bag you're looking for πalignβ the alignment the free area you find needs to have. yes alignment matters, it always matters π₯
π¦ DESCRIPTION π¦
So what it does: it finds a free area of size, aligned to align, inside the range you specified. That's it. That's the whole vibe. It's giving "search party, but for memory" π§β¨
β RETURN β
- Found address on success π
0on failure π (yeah, zero. rough. we've all been there)
π SEE ALSO π
The whole memblock friend group showed up, and honestly? iconic π«Ά Go read up on these:
Kernel file ./mm/memblock.cmemblock overview(9)__memblock_find_range_bottom_up(9)__memblock_find_range_top_down(9)memblock_find_in_range_node(9)memblock_discard(9)memblock_double_array(9)memblock_merge_regions(9)memblock_insert_region(9)memblock_add_range(9)memblock_add_node(9)memblock_add(9)memblock_validate_numa_coverage(9)memblock_isolate_range(9)memblock_free(9)memblock_phys_free(9)memblock_setclr_flag(9)memblock_mark_hotplug(9)memblock_clear_hotplug(9)memblock_mark_mirror(9)memblock_mark_nomap(9)memblock_clear_nomap(9)memblock_reserved_mark_noinit(9)memblock_reserved_mark_kern(9)memblock_mark_kho_scratch(9)memblock_clear_kho_scratch(9)__next_mem_range(9)__next_mem_range_rev(9)memblock_set_node(9)memblock_alloc_range_nid(9)memblock_phys_alloc_range(9)memblock_phys_alloc_try_nid(9)memblock_alloc_internal(9)memblock_alloc_exact_nid_raw(9)memblock_alloc_try_nid_raw(9)memblock_alloc_hugetlb(9)memblock_alloc_try_nid(9)__memblock_alloc_or_panic(9)memblock_estimated_nr_free_pages(9)memblock_is_region_memory(9)memblock_is_region_reserved(9)memblock_free_all(9)reserve_mem_find_by_name(9)reserve_mem_release_by_name(9)
π fr fr, that's the whole list. iykyk. go touch some memblock π
okay bye bestie, mwah π this lil page came from the ./mm corner of the world and it's dated October 2026 β memblock_find_in_range(9), signing off πβ¨π
π¦ 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