memblock_double_array(9)
π memblock_double_array(9) π
okay so bestie, welcome to the memblock_double_array(9) page from the Kernel API Manual. we're gonna get you comfy with it, no cap. π«Ά
π NAME π
memblock_double_array β double the size of the memblock regions array
β¨ SYNOPSIS β¨
int __init_memblock memblock_double_array (struct memblock_type *type ,
phys_addr_t new_area_start , phys_addr_t new_area_size );
πΈ ARGUMENTS πΈ
typeβ the memblock type of the regions array that's getting doubled, slay.new_area_startβ starting address of the memory range to avoid overlap with. literally where it begins.new_area_sizeβ size of the memory range to avoid overlap with. how big it is, bestie.
π¦ DESCRIPTION π¦
So here's the vibe: this function doubles the size of the type regions array. β¨
And the little plot twist is this: if memblock is being used to allocate memory for a new reserved regions array, and there's a previously allocated memory range [new_area_start, new_area_start + new_area_size] waiting to be reserved, then it makes sure the memory used by the new array does not overlap. highkey important, lowkey iconic.
π₯ RETURN π₯
0on success-1on failure
π SEE ALSO π
- 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_find_in_range(9)memblock_discard(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)
okay that's the whole page, bestie. this one came from ./mm, dated October 2026, and it's the memblock_double_array(9) manual page. go double those arrays responsibly ππ«Ά
π¦ 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