Re: [TECH TOPIC] Reaching consensus on CONFIG_HIGHMEM phaseout

Arnd Bergmann
2025-09-12T21:09:51Z

On Fri, Sep 12, 2025, at 18:49, Nicolas Ferre wrote:
> Arnd,
>
> On 09/09/2025 at 23:23, Arnd Bergmann wrote:
>> 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