On 32-bit Linux machines, the 4GB of virtual memory are usually split between 3GB address space for user processes and a little under 1GB directly mapped physical memory.
While kernels can address more physical memory than what is directly mapped, this requires the "highmem" feature that is likely going away in the long run, while there are still systems using 32-bit ARM Linux with 2GB or more that should get kernel updates for many years to come.
As an alternative to highmem, we are proposing a new way to split the available virtual memory, giving 3.75GB of address space to both user space and to the linear physical memory mapping.
In this presentation, we discuss the state of those patches and the trade-offs we found for performance, security and compatibility with existing systems.
Linux Kernel Developer (Linaro Ltd)
Arnd Bergmann has been with Linaro since almost the beginning. He's worked on the kernel across many CPU architectures over his career is and currently co-maintaining the soc tree that is used for merging platform support into the kernel.