---
name: "free_area_init_nodes"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/free_area_init_nodes"
---

# free\_area\_init\_nodes(9)

Initialise all pg\_data\_t and zone data

## NAME

free\_area\_init\_nodes - Initialise all pg\_data\_t and zone data

## SYNOPSIS

**void free\_area\_init\_nodes(unsigned long \*** *max\_zone\_pfn***);**

## ARGUMENTS

*max\_zone\_pfn*

an array of max PFNs for each zone

## DESCRIPTION

This will call **free\_area\_init\_node** for each active node in the system. Using the page ranges provided by **memblock\_set\_node**, the size of each zone in each node and their holes is calculated. 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.

## COPYRIGHT
