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> — <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
<<a class="In">sys/param.h</a>></code>
<br/>
<code class="In">#include <<a class="In">vm/vm.h</a>></code>
<br/>
<code class="In">#include <<a class="In">vm/vm_page.h</a>></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>
<<a class="Mt" href="mailto:davidc@acns.ab.ca">davidc@acns.ab.ca</a>>.</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>
|