Re: [TECH TOPIC] Reaching consensus on CONFIG_HIGHMEM phaseout
From: Richard Weinberger <richard@nod.at>
Date: 2025-09-10 14:04:37
Also in:
imx, linux-arm-kernel, linux-mips, linux-mm, lkml
Arnd, ----- Ursprüngliche Mail -----
Von: "Arnd Bergmann" [off-list ref] High memory is one of the least popular features of the Linux kernel. Added in 1999 for linux-2.3.16 to support large x86 machines, there are very few systems that still need it. I talked about about this recently at the Embedded Linux Conference on 32-bit systems [1][2][3] and there were a few older discussions before[4][5][6]. While removing a feature that is actively used is clearly a regression and not normally done, I expect removing highmem is going to happen at some point anyway when there are few enough users, but the question is when that time will be. I'm still collecting information about which of the remaining highmem users plan to keep updating their kernels and for what reason. Some users obviously are alarmed about potentially losing this ability, so I hope to get a broad consensus on a specific timeline for how long we plan to support highmem in the page cache and to give every user sufficient time to migrate to a well-tested alternative setup if that is possible, or stay on a highmem-enabled LTS kernel for as long as necessary.
I am part of a team responsible for products based on various 32-bit SoCs, so I'm alarmed. These products, which include ARMv7 and PPC32 architectures with up to 2 GiB of RAM, are communication systems with five-figure deployments worldwide. Removing high memory will have an impact on these systems. The oldest kernel version they run is 4.19 LTS, with upgrades to a more recent LTS release currently in progress. We typically upgrade the kernel every few years and will continue to support these systems for at least the next 10 years. Even with a new memory split, which could utilize most of the available memory, I expect there to be issues with various applications and FPGA device drivers. Thanks, //richard