Re: [TECH TOPIC] Reaching consensus on CONFIG_HIGHMEM phaseout
From: "Arnd Bergmann" <arnd@arndb.de>
Date: 2025-09-12 21:09:51
Also in:
imx, linux-mips, linux-mm, linuxppc-dev, lkml
On Fri, Sep 12, 2025, at 18:49, Nicolas Ferre wrote:
Arnd, On 09/09/2025 at 23:23, Arnd Bergmann wrote:quoted
I'm still collecting information about which of the remaining highmem users plan to keep updating their kernels and for what reason.We have 1GB of memory on our latest Cortex-A7 SAMA7D65 evaluation boards [1] (full production announced beg. 2025). The wide range of DDR types supported make some of these types interesting to use at such density. Both our Cortex-A7 SoCs don't have IOMMU; core and DMAs can address the full range of the 32 bit address space, so we're quite standard/simplistic in this area. We use CMA with large chunks as our camera or display interfaces address "modern-ish" resolutions (~1080p). We use CONFIG_HIGHMEM and activated it for simplicity, conformance to usual user-space workloads and planned to add it to our sama7_defconfig [2]. I understand that we might reconsider this "by default" choice and move to one of the solutions you highlighted in your message, lwn.net article or recent talk at ELC-E.
Hi Nicolas, Thanks for your summary! I think with 1GB, you'll be mostly on the safe side in general. I would definitely recommend using VMSPLIT_3G_OPT as the default in the long run and turn off highmem on those. My expectation is that VMSPLIT_3G_OPT may uncover application bugs, but those should be fixed anyway, while using highmem is safer but makes everything slightly worse through the added runtime overhead and increased fragmentation risk. The 1GB case has caused additional bugs because it has a very small highmem area on CONFIG_VMSPLIT_3G and that can make it run out of highmem first.
Of course we plan to maintain these boards and keep updating our kernel "offer" once a year for those associated SoCs (with maintaining upstream, as usual). As you said, being ARMv7, we're quite confident for now. As you mentioned, we've recently released one ARMv5te arm926ejs-based soc: the SAM9x75 family. But we don't have the intention to use too big memory sizes on them, even if they do address large screens, with LVDS and MIPI or modern camera interfaces... I don't have too much info about our customer's use cases as they are very, very diverse, but don't hesitate to reach out to me if you have questions about a particular combination of use. Thanks for your regular update on these topics.
I'm curious about the AT91RM9200 part, which I think is the oldest
SoC with Linux support that is still advertised as "in production".
I understand that Microchip hardly ever discontinues parts, and there is
clearly no need to stop supporting it as long as you maintain the SAM9
family, but I wonder how many users are still buying this part or
running the latest kernel on it.
Arnd