Originally Posted by lazlow
This is the part that the PAE fans always like to forget:
and is one of the major reasons I switched to 64bit.
I didn't know that 4GB user space option even existed. After a bunch of searches, I still don't know what turns it on when configuring the kernel. (But lots of sources agreed with the top post of this thread, that at least in Red Hat pre built 32-bit kernels the choice of 4GB user space is bundled with support for over 16GB physical).
None of the 32-bit PAE Linux kernels I've used had 4GB user space. I didn't compile nor install any of those kernels, so I don't know what choices were made.
PAE itself shouldn't have a noticeable performance impact, nor all the incompatibility issues that are sometimes mentioned.
4GB user space in a 32-bit kernel might be an interesting feature if you're stuck with a non 64-bit CPU. But it sounds like a really lame choice if you could select a 64-bit kernel instead.
You need PAE to get over three point something GB of physical ram. The pages I found while searching "hugemem" describe the option to support up to 16GB (which requires PAE) without getting the 4GB user space.
There is no hardware reason to associate going over 16GB physical ram with supporting 4GB user space, but obviously some of the kernel data structures get bigger as you support more ram. It is reasonable (though I don't know whether it is fact) that supporting over 16GB physical required kernel data structures that weren't practical in the usual 3GB/1GB split of user/kernel address space. Providing separate 4GB address spaces for user and kernel would solve that, at the cost of some performance and doing things enough differently from usual Linux to likely cause some incompatibilities.