summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/numa.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/numa.4 3.html')
-rw-r--r--static/freebsd/man4/numa.4 3.html121
1 files changed, 121 insertions, 0 deletions
diff --git a/static/freebsd/man4/numa.4 3.html b/static/freebsd/man4/numa.4 3.html
new file mode 100644
index 00000000..0dbba782
--- /dev/null
+++ b/static/freebsd/man4/numa.4 3.html
@@ -0,0 +1,121 @@
+<table class="head">
+ <tr>
+ <td class="head-ltitle">NUMA(4)</td>
+ <td class="head-vol">Device Drivers Manual</td>
+ <td class="head-rtitle">NUMA(4)</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">NUMA</code> &#x2014; <span class="Nd">Non-Uniform
+ Memory Access</span></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
+<p class="Pp"><code class="Cd">options MAXMEMDOM</code>
+ <br/>
+ <code class="Cd">options NUMA</code></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
+<p class="Pp">Non-Uniform Memory Access is a computer architecture design which
+ involves unequal costs between processors, memory and IO devices in a given
+ system.</p>
+<p class="Pp">In a <code class="Nm">NUMA</code> architecture, the latency to
+ access specific memory or IO devices depends upon which processor the memory
+ or device is attached to. Accessing memory local to a processor is faster
+ than accessing memory that is connected to one of the other processors.
+ <span class="Ux">FreeBSD</span> implements NUMA-aware memory allocation
+ policies. By default it attempts to ensure that allocations are balanced
+ across each domain. Users may override the default domain selection policy
+ using <a class="Xr">cpuset(1)</a>.</p>
+<p class="Pp"><code class="Nm">NUMA</code> support is enabled when the
+ <code class="Cd">NUMA</code> option is specified in the kernel configuration
+ file. Each platform defines the <code class="Cd">MAXMEMDOM</code> constant,
+ which specifies the maximum number of supported NUMA domains. This constant
+ may be specified in the kernel configuration file.
+ <code class="Nm">NUMA</code> support can be disabled at boot time by setting
+ the <var class="Va">vm.numa.disabled</var> tunable to 1. Other values for
+ this tunable are currently ignored.</p>
+<p class="Pp">Thread and process <code class="Nm">NUMA</code> policies are
+ controlled with the <a class="Xr">cpuset_getdomain(2)</a> and
+ <a class="Xr">cpuset_setdomain(2)</a> syscalls. The
+ <a class="Xr">cpuset(1)</a> tool is available for starting processes with a
+ non-default policy, or to change the policy of an existing thread or
+ process. See <a class="Xr">SMP(4)</a> for information about CPU to domain
+ mapping.</p>
+<p class="Pp">Systems with non-uniform access to I/O devices may mark those
+ devices with the local VM domain identifier. Drivers can find out their
+ local domain information by calling <a class="Xr">bus_get_domain(9)</a>.</p>
+<section class="Ss">
+<h2 class="Ss" id="MIB_Variables"><a class="permalink" href="#MIB_Variables">MIB
+ Variables</a></h2>
+<p class="Pp">The operation of <code class="Nm">NUMA</code> is controlled and
+ exposes information with these <a class="Xr">sysctl(8)</a> MIB
+ variables:</p>
+<p class="Pp"></p>
+<dl class="Bl-tag Bl-compact">
+ <dt id="vm.ndomains"><var class="Va">vm.ndomains</var></dt>
+ <dd>The number of VM domains which have been detected.
+ <p class="Pp"></p>
+ </dd>
+ <dt id="vm.phys_locality"><var class="Va">vm.phys_locality</var></dt>
+ <dd>A table indicating the relative cost of each VM domain to each other. A
+ value of 10 indicates equal cost. A value of -1 means the locality map is
+ not available or no locality information is available.
+ <p class="Pp"></p>
+ </dd>
+ <dt id="vm.phys_segs"><var class="Va">vm.phys_segs</var></dt>
+ <dd>The map of physical memory, grouped by VM domain.</dd>
+</dl>
+</section>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="IMPLEMENTATION_NOTES"><a class="permalink" href="#IMPLEMENTATION_NOTES">IMPLEMENTATION
+ NOTES</a></h1>
+<p class="Pp">The current <code class="Nm">NUMA</code> implementation is
+ VM-focused. The hardware <code class="Nm">NUMA</code> domains are mapped
+ into a contiguous, non-sparse VM domain space, starting from 0. Thus, VM
+ domain information (for example, the domain identifier) is not necessarily
+ the same as is found in the hardware specific information. Policy
+ information is available in both struct thread and struct proc.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
+ ALSO</a></h1>
+<p class="Pp"><a class="Xr">cpuset(1)</a>,
+ <a class="Xr">cpuset_getaffinity(2)</a>,
+ <a class="Xr">cpuset_setaffinity(2)</a>, <a class="Xr">SMP(4)</a>,
+ <a class="Xr">bus_get_domain(9)</a></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
+<p class="Pp"><code class="Nm">NUMA</code> first appeared in
+ <span class="Ux">FreeBSD 9.0</span> as a first-touch allocation policy with
+ a fail-over to round-robin allocation and was not configurable. It was then
+ modified in <span class="Ux">FreeBSD 10.0</span> to implement a round-robin
+ allocation policy and was also not configurable.</p>
+<p class="Pp">The <a class="Xr">numa_getaffinity(2)</a> and
+ <a class="Xr">numa_setaffinity(2)</a> syscalls and the
+ <a class="Xr">numactl(1)</a> tool first appeared in <span class="Ux">FreeBSD
+ 11.0</span> and were removed in <span class="Ux">FreeBSD 12.0</span>. The
+ current implementation appeared in <span class="Ux">FreeBSD 12.0</span>.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
+<p class="Pp">This manual page written by <span class="An">Adrian Chadd</span>
+ &lt;<a class="Mt" href="mailto:adrian@FreeBSD.org">adrian@FreeBSD.org</a>&gt;.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="NOTES"><a class="permalink" href="#NOTES">NOTES</a></h1>
+<p class="Pp">No statistics are kept to indicate how often
+ <code class="Nm">NUMA</code> allocation policies succeed or fail.</p>
+</section>
+</div>
+<table class="foot">
+ <tr>
+ <td class="foot-date">October 22, 2018</td>
+ <td class="foot-os">FreeBSD 15.0</td>
+ </tr>
+</table>