1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>release_mem_region_adjustable</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The Linux Kernel API"><link rel="up" href="ch09s03.html" title="Resources Management"><link rel="prev" href="API-resource-alignment.html" title="resource_alignment"><link rel="next" href="API-request-resource.html" title="request_resource"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">release_mem_region_adjustable</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-resource-alignment.html">Prev</a> </td><th width="60%" align="center">Resources Management</th><td width="20%" align="right"> <a accesskey="n" href="API-request-resource.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-release-mem-region-adjustable"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>release_mem_region_adjustable — 2 release a previously reserved memory region 3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">release_mem_region_adjustable </b>(</code></td><td>struct resource * <var class="pdparam">parent</var>, </td></tr><tr><td> </td><td>resource_size_t <var class="pdparam">start</var>, </td></tr><tr><td> </td><td>resource_size_t <var class="pdparam">size</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idp1125929540"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>parent</code></em></span></dt><dd><p> 4 parent resource descriptor 5 </p></dd><dt><span class="term"><em class="parameter"><code>start</code></em></span></dt><dd><p> 6 resource start address 7 </p></dd><dt><span class="term"><em class="parameter"><code>size</code></em></span></dt><dd><p> 8 resource region size 9 </p></dd></dl></div></div><div class="refsect1"><a name="idp1125933212"></a><h2>Description</h2><p> 10 This interface is intended for memory hot-delete. The requested region 11 is released from a currently busy memory resource. The requested region 12 must either match exactly or fit into a single busy resource entry. In 13 the latter case, the remaining resource is adjusted accordingly. 14 Existing children of the busy memory resource must be immutable in the 15 request. 16</p></div><div class="refsect1"><a name="idp1125934196"></a><h2>Note</h2><p> 17 - Additional release conditions, such as overlapping region, can be 18 supported after they are confirmed as valid cases. 19 - When a busy memory resource gets split into two entries, the code 20 assumes that all children remain in the lower address entry for 21 simplicity. Enhance this logic when necessary. 22</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-resource-alignment.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch09s03.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-request-resource.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">resource_alignment</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">request_resource</span></td></tr></table></div></body></html> 23