Linux kernel developers are evaluating the idea of removing HIGHPTE support from the Linux kernel due to its maintenance burden and just one ARM system currently using it.
Linux’s HIGHPTE support pre-dates 64-bit support and was used for helping ARM achieve feature parity with 32-bit x86 systems. HIGHPTE allows for user-space second-level page tables to reside within high memory. But when it comes to the mainline kernel support, ARM is the last one still supporting HIGHPTE for 32-bit Arm hardware yet finding any that support more than 4GB of RAM is very rare. The cost of maintaining HIGHPTE has been called high before and Linux kernel developers are hoping this time they’ll be able to end the support for helping cleanup the kernel.
The x86 HIGHPTE support was dropped earlier this year when limiting the x86 32-bit maximum RAM support to 4GB: x86 32-bit Changes Look To Be Ready For Linux 6.15 – Drops Support For More Than 4GB RAM.
Linaro engineer Linus Walleij posted today a “request for comments” (RFC) to the Linux kernel mailing list on ending HIGHPTE support:
“
Matthew Wilcox suggests HIGHPTE is a burden for the kernel MM, and only one ARM system (vt8500) is currently using it.This deletes the use of HIGHPTE in ARM32 clearing the way to remove the feature altogether.
It was introduced in commit 65cec8e3db60 “ARM: implement highpte” in 2009, so this RFC is intended as a discussion item to check if it is still a desired feature 16 years later or if we can get rid of it.”
The ARM vt8500 was for WonderMedia/VIA used primarily in some low-end CHinese ARM tablets/notebooks more than one decade ago.
Once the ARM HIGHPTE support is agreed for removal, the rest of the HIGHPTE infrastructure can be removed.