1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>vm_unmap_aliases</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="ch04s03.html" title="More Memory Management Functions"><link rel="prev" href="API-follow-pfn.html" title="follow_pfn"><link rel="next" href="API-vm-unmap-ram.html" title="vm_unmap_ram"></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">vm_unmap_aliases</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-follow-pfn.html">Prev</a> </td><th width="60%" align="center">More Memory Management Functions</th><td width="20%" align="right"> <a accesskey="n" href="API-vm-unmap-ram.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-vm-unmap-aliases"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>vm_unmap_aliases — 2 unmap outstanding lazy aliases in the vmap layer 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">void <b class="fsfunc">vm_unmap_aliases </b>(</code></td><td> <var class="pdparam">void</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idp1124345196"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>void</code></em></span></dt><dd><p> 4 no arguments 5 </p></dd></dl></div></div><div class="refsect1"><a name="idp1124346804"></a><h2>Description</h2><p> 6 </p><p> 7 8 The vmap/vmalloc layer lazily flushes kernel virtual mappings primarily 9 to amortize TLB flushing overheads. What this means is that any page you 10 have now, may, in a former life, have been mapped into kernel virtual 11 address by the vmap layer and so there might be some CPUs with TLB entries 12 still referencing that page (additional to the regular 1:1 kernel mapping). 13 </p><p> 14 15 vm_unmap_aliases flushes all such lazy mappings. After it returns, we can 16 be sure that none of the pages we have control over will have any aliases 17 from the vmap layer. 18</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-follow-pfn.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="API-vm-unmap-ram.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">follow_pfn</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">vm_unmap_ram</span></td></tr></table></div></body></html> 19