PAE(4)

πŸ’– PAE β€” Physical Address Extensions πŸ’–

ok so bestie, we're talking about PAE(4) β€” that's the man page for the physical address extensions situation, living over in the i386 Kernel Interfaces Manual. buckle up, this one's a lil spicy πŸ”₯


✨ SYNOPSIS ✨

options PAE

πŸ¦‹ DESCRIPTION πŸ¦‹

so the PAE option gives you support for the physical address extensions capability of the Intel Pentium Pro and above CPUs. and like. the whole point? it lets you use up to 64 gigabytes of memory on systems that can actually support it. iconic behavior honestly πŸ‘‘

with the PAE option, memory above 4 gigabytes is just... simply added to the general page pool. no drama, no separate bucket. the system makes no distinction between memory above or below 4 gigabytes, periodt. and ngl there's also no specific facility 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. so don't come looking for extra special access, it's giving equal treatment for everyone πŸ’…


🌸 SEE ALSO 🌸


πŸŽ€ HISTORY πŸŽ€

the PAE option first appeared in FreeBSD 4.9 and FreeBSD 5.1. a true veteran fr fr 🫢


πŸ‘‘ AUTHORS πŸ‘‘

  • Jake Burkholder <jake@FreeBSD.org>

πŸ’€ BUGS πŸ’€

ok bestie this is the part where we get serious, no cap, read carefully πŸ™ˆ

  • 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. like, just don't. it's a whole thing.
🚨 many devices or their device drivers are not capable of direct memory access to physical addresses above 4 gigabytes. 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. πŸ”§


ngl bestie, if you're running PAE with more than 4GB and a sketchy driver, you're in your villain era and the data corruption arc is NOT the vibe check you want πŸ’…

ok that's the whole page, ily, go forth and configure responsibly πŸ’–βœ¨

this lil love letter to physical address extensions came to you from Debian, dated April 8, 2003 β€” yeah she's vintage, and she ATE πŸ“πŸ§šπŸ’œ

πŸ“¦ where this page comes from