Update PAE section. Added one sentence to the original submission

describing the versions of FreeBSD that support PAE.

Submitted by:	hmp
Reviewed by:	simon
Discussed with:	simon, murray
This commit is contained in:
Bruce A. Mah 2003-10-21 05:29:42 +00:00
parent c6a9626fe6
commit dd59ed300d
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=18511

View file

@ -1329,32 +1329,100 @@ pseudo-device bpf # Berkeley packet filter</programlisting>
<filename>/usr/src/sys/i386/conf/LINT</filename>.</para> <filename>/usr/src/sys/i386/conf/LINT</filename>.</para>
<sect2> <sect2>
<title>Defeating Memory Limitations</title> <title>Large Memory Configurations (<acronym>PAE</acronym>)</title>
<indexterm>
<primary>
Physical Address Extensions (<acronym>PAE</acronym>)
</primary>
<secondary>
Large Memory Configurations
</secondary>
</indexterm>
<para>In the past, &os; never made use of memory beyond four <para>Large memory configuration machines require access to
gigabytes. This was termed the four gigabytes limit and more than the 4 gigabyte limit on User+Kernel Virtual
was a hassle to those who owned machines which supported a Address (<acronym>KVA</acronym>) space. Due to this
memory size larger than four gigabytes. For those users, the limitation, Intel added support for 36-bit physical address
&man.pae.4; driver was written. The <literal>PAE</literal> space access in the &pentium; Pro and later line of CPUs.</para>
driver provides for memory address extensions ultimately
permitting up to sixty-four gigabytes. To make use of this <para>The Physical Address Extension (<acronym>PAE</acronym>)
feature, just add:</para> capability of the &intel; &pentium; Pro and later CPUs
allows memory configurations of up to 64 gigabytes.
&os; provides support for this capability via the
<option>PAE</option> kernel configuration option, available
in the 4.X series of &os; beginning with 4.9-RELEASE and
in the 5.X series of &os; beginning with 5.1-RELEASE. Due to
the limitations of the Intel memory architecture, no distinction
is made for memory above or below 4 gigabytes. Memory allocated
above 4 gigabytes is simply added to the pool of available
memory.</para>
<programlisting>options PAE</programlisting> <para>To enable <acronym>PAE</acronym> support in the kernel,
simply add the following line to your kernel configuration
file:</para>
<programlisting>options PAE</programlisting>
<para>to the kernel configuration file as explained above.</para> <note>
<para>The <acronym>PAE</acronym> support in &os; is only
available for &intel; IA-32 processors. It should also be
noted, that the <acronym>PAE</acronym> support in &os; has
not received wide testing, and should be considered beta
quality compared to other stable features of &os;.</para>
</note>
<note> <para>PAE support in &os; has a few limitations:</para>
<para>This option is slightly experimental, and could cause
minor problems. For instance, the kernel's virtual address <itemizedlist>
space may need to be increased. Add the <listitem>
<option>KVA_PAGES</option> from <filename>NOTES</filename> to <para>A process is not able to access more than 4
the kernel configuration file. The default number, gigabytes of VM space.</para>
<literal>260</literal>, may need to be increased and the </listitem>
<option>kern.maxvnodes</option> may need to be decreased by
using the <command>sysctl</command> utility. Reading the <listitem>
&man.tuning.7; manual page is certainly advised.</para> <para><acronym>KLD</acronym> modules cannot be loaded into
</note> a <acronym>PAE</acronym> enabled kernel, due to the
differences in the build framework of a module and the
kernel.</para>
</listitem>
<listitem>
<para>Device drivers that do not use the &man.bus.dma.9;
interface will cause data corruption in a
<acronym>PAE</acronym> enabled kernel and are not
recommended for use. For this reason, the
<filename>PAE</filename> kernel
configuration file is provided in &os; 5.X, which
excludes all drivers not known to work in a PAE enabled
kernel.</para>
</listitem>
<listitem>
<para>Some system tunables determine memory resource usage
by the amount of available physical memory. Such
tunables can unnecessarily over-allocate due to the
large memory nature of a <acronym>PAE</acronym> system.
One such example is the <option>kern.maxvnodes</option>
sysctl, which controls the maximum number of vnodes allowed
in the kernel. It is advised to adjust this and other
such tunables to a reasonable value.</para>
</listitem>
<listitem>
<para>It might be necessary to increase the kernel virtual
address (<acronym>KVA</acronym>) space or to reduce the
amount of specific kernel resource that is heavily used
(see above) in order to avoid <acronym>KVA</acronym>
exhaustion. The <option>KVA_PAGES</option> kernel option
can be used for increasing the
<acronym>KVA</acronym> space.</para>
</listitem>
</itemizedlist>
<para>For performance and stability concerns, it is advised to
consult the &man.tuning.7; manual page. The &man.pae.4;
manual page contains up-to-date information on &os;'s
<acronym>PAE</acronym> support.</para>
</sect2> </sect2>
</sect1> </sect1>