Index: kernelconfig/chapter.sgml
===================================================================
RCS file: /home/dcvs/doc/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml,v
retrieving revision 1.125
diff -u -r1.125 chapter.sgml
--- kernelconfig/chapter.sgml 8 Oct 2003 20:01:21 -0000 1.125
+++ kernelconfig/chapter.sgml 20 Oct 2003 09:50:22 -0000
@@ -1329,32 +1329,98 @@
/usr/src/sys/i386/conf/LINT.
- Defeating Memory Limitations
+ Large Memory Configurations (PAE)
+
+
+ Physical Address Extensions (PAE)
+
+
+ Large Memory Configurations
+
+
- In the past, &os; never made use of memory beyond four
- gigabytes. This was termed the four gigabytes limit and
- was a hassle to those who owned machines which supported a
- memory size larger than four gigabytes. For those users, the
- &man.pae.4; driver was written. The PAE
- driver provides for memory address extensions ultimately
- permitting up to sixty-four gigabytes. To make use of this
- feature, just add:
-
- options PAE
-
- to the kernel configuration file as explained above.
-
-
- This option is slightly experimental, and could cause
- minor problems. For instance, the kernel's virtual address
- space may need to be increased. Add the
- from NOTES to
- the kernel configuration file. The default number,
- 260, may need to be increased and the
- may need to be decreased by
- using the sysctl utility. Reading the
- &man.tuning.7; manual page is certainly advised.
-
+ Large memory configuration machines require access to
+ more than the 4 gigabyte limit on User+Kernel Virtual
+ Address (KVA) space. Due to this
+ limitation, Intel added support for 36-bit physical address
+ space access in the &pentium; Pro and later line of CPUs.
+
+ The Physical Address Extension (PAE)
+ 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
+ kernel configuration option. 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.
+
+ To enable PAE support in the kernel,
+ simply add the following line to your kernel configuration
+ file:
+
+ options PAE
+
+
+ The PAE support in &os; is only
+ available for &intel; IA-32 processors. It should also be
+ noted, that the PAE support in &os; has
+ not received wide testing, and should be considered beta
+ quality compared to other stable features of &os;.
+
+
+ PAE support in &os; has a few limitations:
+
+
+
+ A process is not able to access more than 4
+ gigabytes of VM space.
+
+
+
+ KLD modules cannot be loaded into
+ a PAE enabled kernel, due to the
+ differences in the build framework of a module and the
+ kernel.
+
+
+
+ Device drivers that do not use the &man.bus.dma.9;
+ interface will cause data corruption in a
+ PAE enabled kernel and are not
+ recommended for use. For this reason, the
+ PAE kernel
+ configuration file is provided in &os; 5.X, which
+ excludes all drivers not known to work in a PAE enabled
+ kernel.
+
+
+
+ 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 PAE system.
+ One such example is the
+ 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.
+
+
+
+ It might be necessary to increase the kernel virtual
+ address (KVA) space or to reduce the
+ amount of specific kernel resource that is heavily used
+ (see above) in order to avoid KVA
+ exhaustion. The kernel option
+ can be used for increasing the
+ KVA space.
+
+
+
+ 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
+ PAE support.