From dd59ed300d7d1f73f738f73283d8c7a5cc3a593f Mon Sep 17 00:00:00 2001 From: "Bruce A. Mah" Date: Tue, 21 Oct 2003 05:29:42 +0000 Subject: [PATCH] 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 --- .../books/handbook/kernelconfig/chapter.sgml | 112 ++++++++++++++---- 1 file changed, 90 insertions(+), 22 deletions(-) diff --git a/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml b/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml index 4c0537ee58..292781ea4d 100644 --- a/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml @@ -1329,32 +1329,100 @@ pseudo-device bpf # Berkeley packet filter /usr/src/sys/i386/conf/LINT. - Defeating Memory Limitations + Large Memory Configurations (<acronym>PAE</acronym>) + + + 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: + 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, 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. - options PAE + To enable PAE support in the kernel, + simply add the following line to your kernel configuration + file: + + options PAE - to the kernel configuration file as explained above. + + 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;. + - - 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. - + 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.