memblock_all...xact_nid_raw(9)
πΈ memblock_alloc_exact_nid_raw(9) πΈ
okay bestie, welcome to the Kernel API Manual π this page is all about memblock_alloc_exact_nid_raw, and it's giving "allocate boot memory block on the exact node without zeroing memory" energy. no cap. β¨
π NAME π
memblock_alloc_exact_nid_raw β allocate boot memory block on the exact node without zeroing memory.
π¦ SYNOPSIS π¦
void * memblock_alloc_exact_nid_raw (phys_addr_t size , phys_addr_t align , phys_addr_t min_addr , phys_addr_t max_addr , int nid );
π ARGUMENTS π
sizeβ size of the memory block to be allocated, in bytes. πalignβ alignment of the region and the block's size. πmin_addrβ the lower bound of the memory region from where the allocation is preferred (a physical address). β¬οΈmax_addrβ the upper bound of the memory region from where the allocation is preferred (a physical address), orMEMBLOCK_ALLOC_ACCESSIBLEto allocate only from memory limited by thememblock.current_limitvalue. β¬οΈnidβ the nid of the free area to find;NUMA_NO_NODEfor any node. π§
π₯ DESCRIPTION π₯
This is a public function β yes, public, bestie, it is not hiding β and it provides additional debug information (including caller info) if enabled. π
It does not zero allocated memory, periodt. So if you were expecting a fresh little zeroed-out block, that is not the vibe here. π
π RETURN π
Virtual address of the allocated memory block on success, NULL on failure. So: address = slay, NULL = nope. π
π SEE ALSO π
go read these next, iykyk:
- Kernel file
./mm/memblock.cβmemblock 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_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_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 bestie, that's the page π source/version vibes: ./mm, October 2026. go allocate something cute (but not zeroed, remember π). π«Άπ
π¦ 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