PAE(4) | Device Drivers Manual (i386) | PAE(4) |
PAE
— Physical
Address Extensions
options PAE
The PAE
option provides support for the
physical address extensions capability of the Intel Pentium Pro and above
CPUs, and allows for up to 64 gigabytes of memory to be used in systems
capable of supporting it. With the PAE
option,
memory above 4 gigabytes is simply added to the general page pool. The
system makes no distinction between memory above or below 4 gigabytes, and
no specific facility is provided for a process or the kernel to access more
memory than they would otherwise be able to access, through a sliding window
or otherwise.
The PAE
option first appeared in
FreeBSD 4.9 and FreeBSD
5.1.
Jake Burkholder <jake@FreeBSD.org>
Since KLD modules are not compiled with the same options headers
that the kernel is compiled with, they must not be loaded into a kernel
compiled with the PAE
option.
Many devices or their device drivers are not capable of direct
memory access to physical addresses above 4 gigabytes. In order to make use
of direct memory access IO in a system with more than 4 gigabytes of memory
when the PAE
option is used, these drivers must use
a facility for remapping or substituting physical memory which is not
accessible to the device. One such facility is provided by the
busdma
interface. Device drivers which do not
account for such devices will not work reliably in a system with more than 4
gigabytes of memory when the PAE
option is used, and
may cause data corruption. The PAE kernel
configuration file includes the PAE
option, and
explicitly excludes all device drivers which are known to not work or have
not been tested in a system with the PAE
option and
more than 4 gigabytes of memory.
Many parameters which determine how memory is used in the kernel
are based on the amount of physical memory. The formulas used to determine
the values of these parameters for specific memory configurations may not
take into account the fact there may be more than 4 gigabytes of memory, and
may not scale well to these memory configurations. In particular, it may be
necessary to increase the amount of virtual address space available to the
kernel, or to reduce the amount of a specific resource that is heavily used,
in order to avoid running out of virtual address space. The
KVA_PAGES
option may be used to increase the kernel
virtual address space, and the kern.maxvnodes
sysctl(8) may be used to decrease the number of vnodes
allowed, an example of a resource that the kernel is likely to overallocate
in large memory configurations. For optimal performance and stability it may
be necessary to consult the tuning(7) manual page, and
make adjustments to the parameters documented there.
April 8, 2003 | Debian |