<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>free_area_init_nodes</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="The Linux Kernel API" /><link rel="up" href="ch04s03.html" title="More Memory Management Functions" /><link rel="prev" href="re206.html" title="find_min_pfn_with_active_regions" /><link rel="next" href="re208.html" title="set_dma_reserve" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span>free_area_init_nodes</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re206.html">Prev</a> </td><th width="60%" align="center">More Memory Management Functions</th><td width="20%" align="right"> <a accesskey="n" href="re208.html">Next</a></td></tr></table><hr /></div><div class="refentry" title="free_area_init_nodes"><a id="API-free-area-init-nodes"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>free_area_init_nodes — Initialise all pg_data_t and zone data </p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">void <b class="fsfunc">free_area_init_nodes </b>(</code></td><td>unsigned long * <var class="pdparam">max_zone_pfn</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1" title="Arguments"><a id="id2649905"></a><h2>Arguments</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>max_zone_pfn</code></em></span></dt><dd><p> an array of max PFNs for each zone </p></dd></dl></div></div><div class="refsect1" title="Description"><a id="id2649933"></a><h2>Description</h2><p> This will call <code class="function">free_area_init_node</code> for each active node in the system. Using the page ranges provided by <code class="function">add_active_range</code>, 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. </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="re206.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04s03.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="re208.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span>find_min_pfn_with_active_regions</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span>set_dma_reserve</span></td></tr></table></div></body></html>