24-28 August 2020
US/Pacific timezone

4G/4G memory split on 32-bit architectures

25 Aug 2020, 09:25
Microconference3/Virtual-Room (LPC 2020)


LPC 2020

linux/arch/* MC linux/arch/* MC


Mr Linus Walleij (Arm) Arnd Bergmann (Linaro)


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.

I agree to abide by the anti-harassment policy I agree

Primary authors

Presentation Materials

There are no materials yet.