free_area_init(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

free_area_init β€” Initialise all pg_data_t and zone data ✨


πŸŽ€ SYNOPSIS πŸŽ€

void free_area_init (void );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • void β€” no arguments, bestie. zero. none. the void is literally voiding πŸ’…

🌸 DESCRIPTION 🌸

okay so free_area_init calls free_area_init_node for each active node in the system, no cap 🫢

Using the page ranges provided by memblock_set_node, the size of each zone in each node and their holes is calculated. iconic behavior honestly.

If the maximum PFN between two adjacent zones match, it is assumed that the zone is empty πŸ‘€ for example, if arch_max_dma_pfn == arch_max_dma32_pfn, it is assumed that arch_max_dma32_pfn has no pages. It is also assumed that a zone starts where the previous one ended. for example, ZONE_DMA32 starts at arch_max_dma_pfn πŸ’–


⭐ SEE ALSO ⭐


that’s the whole vibe πŸ’– this page is from the ./mm source, dated October 2026, and it’s free_area_init(9) signing off 🫢✨

πŸ“¦ where this page comes from