summaryrefslogtreecommitdiff
path: root/static/freebsd/man9/vm_page_wire.9 4.html
blob: b3a3c5dc227bf01ab7795b4deac150c234ff85fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<table class="head">
  <tr>
    <td class="head-ltitle">VM_PAGE_WIRE(9)</td>
    <td class="head-vol">Kernel Developer's Manual</td>
    <td class="head-rtitle">VM_PAGE_WIRE(9)</td>
  </tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<p class="Pp"><code class="Nm">vm_page_wire</code>,
    <code class="Nm">vm_page_unwire</code>,
    <code class="Nm">vm_page_unwire_noq</code> &#x2014; <span class="Nd">wire
    and unwire pages</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp"><code class="In">#include
    &lt;<a class="In">sys/param.h</a>&gt;</code>
  <br/>
  <code class="In">#include &lt;<a class="In">vm/vm.h</a>&gt;</code>
  <br/>
  <code class="In">#include &lt;<a class="In">vm/vm_page.h</a>&gt;</code></p>
<p class="Pp"><var class="Ft">void</var>
  <br/>
  <code class="Fn">vm_page_wire</code>(<var class="Fa" style="white-space: nowrap;">vm_page_t
    m</var>);</p>
<p class="Pp"><var class="Ft">bool</var>
  <br/>
  <code class="Fn">vm_page_wire_mapped</code>(<var class="Fa" style="white-space: nowrap;">vm_page_t
    m</var>);</p>
<p class="Pp"><var class="Ft">void</var>
  <br/>
  <code class="Fn">vm_page_unwire</code>(<var class="Fa" style="white-space: nowrap;">vm_page_t
    m</var>, <var class="Fa" style="white-space: nowrap;">int queue</var>);</p>
<p class="Pp"><var class="Ft">bool</var>
  <br/>
  <code class="Fn">vm_page_unwire_noq</code>(<var class="Fa" style="white-space: nowrap;">vm_page_t
    m</var>);</p>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The
    <a class="permalink" href="#vm_page_wire"><code class="Fn" id="vm_page_wire">vm_page_wire</code></a>()
    and
    <a class="permalink" href="#vm_page_wire_mapped"><code class="Fn" id="vm_page_wire_mapped">vm_page_wire_mapped</code></a>()
    functions wire the page, which prevents it from being reclaimed by the page
    daemon or when its containing object is destroyed. Both functions require
    that the page belong to an object. The
    <code class="Fn">vm_page_wire_mapped</code>() function is for use by the
    <a class="Xr">pmap(9)</a> layer following a lookup. This function may fail
    if mappings of the page are concurrently being destroyed, in which case it
    will return false.</p>
<p class="Pp" id="vm_page_unwire">The
    <a class="permalink" href="#vm_page_unwire"><code class="Fn">vm_page_unwire</code></a>()
    and
    <a class="permalink" href="#vm_page_unwire_noq"><code class="Fn" id="vm_page_unwire_noq">vm_page_unwire_noq</code></a>()
    functions release a wiring of a page. The
    <code class="Fn">vm_page_unwire</code>() function takes a queue index and
    will insert the page into the corresponding page queue upon releasing its
    last wiring. If the page does not belong to an object and no other
    references to the page exist, <code class="Fn">vm_page_unwire</code>() will
    free the page. <code class="Fn">vm_page_unwire_noq</code>() releases the
    wiring and returns true if it was the last wiring of the page.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<p class="Pp">This manual page was written by <span class="An">Chad David</span>
    &lt;<a class="Mt" href="mailto:davidc@acns.ab.ca">davidc@acns.ab.ca</a>&gt;.</p>
</section>
</div>
<table class="foot">
  <tr>
    <td class="foot-date">September 9, 2019</td>
    <td class="foot-os">FreeBSD 15.0</td>
  </tr>
</table>