From: "H. Peter Anvin" <hpa@zytor.com>
To: Andreas Larsson <andreas@gaisler.com>,
Arnd Bergmann <arnd@arndb.de>,
ksummit@lists.linux.dev
Cc: linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linuxppc-dev@lists.ozlabs.org, linux-mips@vger.kernel.org,
linux-mm@kvack.org, imx@lists.linux.dev,
"Christophe Leroy" <christophe.leroy@csgroup.eu>,
"Richard Weinberger" <richard@nod.at>,
"Lucas Stach" <l.stach@pengutronix.de>,
"Linus Walleij" <linus.walleij@linaro.org>,
"Geert Uytterhoeven" <geert+renesas@glider.be>,
"Ankur Arora" <ankur.a.arora@oracle.com>,
"David Hildenbrand" <david@redhat.com>,
"Mike Rapoport" <rppt@kernel.org>,
"Lorenzo Stoakes" <lorenzo.stoakes@oracle.com>,
"Matthew Wilcox" <willy@infradead.org>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Liam R. Howlett" <Liam.Howlett@oracle.com>,
"Vlastimil Babka" <vbabka@suse.cz>,
"Suren Baghdasaryan" <surenb@google.com>,
"Ira Weiny" <ira.weiny@intel.com>, "Nishanth Menon" <nm@ti.com>,
"Heiko Stübner" <heiko@sntech.de>,
"Alexander Sverdlin" <alexander.sverdlin@gmail.com>,
"Chester A. Unal" <chester.a.unal@arinc9.com>,
"Sergio Paracuellos" <sergio.paracuellos@gmail.com>
Subject: Re: [TECH TOPIC] Reaching consensus on CONFIG_HIGHMEM phaseout
Date: Fri, 12 Sep 2025 02:36:58 -0700 [thread overview]
Message-ID: <0FEA041E-A07E-4259-AFBC-02906D122C3A@zytor.com> (raw)
In-Reply-To: <a393f6bd-ac30-4861-818c-ba0b558df4a4@gaisler.com>
On September 12, 2025 2:32:04 AM PDT, Andreas Larsson <andreas@gaisler.com> wrote:
>On 2025-09-11 09:53, Arnd Bergmann wrote:
>> On Thu, Sep 11, 2025, at 07:38, Andreas Larsson wrote:
>>>
>>> We have a upcoming SoC with support for up to 16 GiB of DRAM. When that is
>>> used in LEON sparc32 configuration (using 36-bit physical addressing), a
>>> removed CONFIG_HIGHMEM would be a considerable limitation, even after an
>>> introduction of different CONFIG_VMSPLIT_* options for sparc32.
>>
>> I agree that without highmem that chip is going to be unusable from Linux,
>> but I wonder if there is a chance to actually use it even with highmem,
>> for a combination of reasons:
>
>I would definitely not call it unusable in LEON sparc32 mode with
>HIGHMEM gone, but it would of course be seriously hampered memory wise
>without HIGHMEM support compared to with HIGHMEM. In NOEL-V 64-bit
>RISC-V mode it will of course not be affected by these matters.
>
>
>> - sparc32 has 36-bit addressing in the MMU, but Linux apparently never
>> supported a 64-bit phys_addr_t here, which would be required.
>> This is probably the easiest part and I assume you already have patches
>> for it.
>>
>> - As far as I can tell, the current lowmem area is 192MB, which would
>> be ok(-ish) on a 512MB maxed-out SPARCstation, but for anything bigger
>> you likely run out of lowmem long before being able to touch the
>> all highmem pages. This obviously depends a lot on the workload.
>>
>> - If you come up with patches to extend lowmem to 2GB at the expense
>> of a lower TASK_SIZE, you're still looking at a ration of 7:1 with
>> 14GB of highmem on the maxed-out configuration, so many workloads
>> would still struggle to actually use that memory for page cache.
>
>Yes, we already have patches for 36-bit addressing with 64-bit
>phys_addr_t. Patches for CONFIG_VMSPLIT_* are under development.
>
>Even with 192 MiB lowmem we have being using up to 4 GiB without running
>into problems. Could you elaborate on why you think lowmem would run out
>before 14 GiB highmem in a VMSPLIT_3G or VMSPLIT_2G configuration?
>
>And even if 14 GiB highmem would be hard to get full usage out of, for a
>board with 8 GiB memory (or a configuration limiting 16 GiB down to only
>use 8 GiB or somewhere in between) the difference between getting to use
>2 GiB and 8 GiB is quite hefty.
>
>
>> - If we remove HIGHPTE (as discussed in this thread) but keep HIGHMEM,
>> you probably still lose on the 16GB configuration. On 4GB configurations,
>> HIGHPTE is not really a requirement, but for workloads with many
>> concurrent tasks using a lot of virtual address space, you would
>> likely want to /add/ HIGHPTE support on sparc32 first.
>
>That is an interesting point. Regardless of workloads though, it still
>would be a huge difference between having or not having HIGHMEM, with or
>without HIGHPTE.
>
>
>> When you say "used in LEON sparc32 configuration", does that mean
>> you can also run Linux in some other confuration like an rv64
>> kernel on a NOEL-V core on that chip?
>
>Yes, boot strapping will select between sparc32 LEON and rv64 NOEL-V.
>
>
>> Aside from the upcoming SoC and whatever happens to that, what is
>> the largest LEON Linux memory configuration that you know is used
>> in production today and still requires kernel updates beyond ~2029?
>
>The maximum I know of for systems currently in production has the
>capacity to have up to 2 GiB memory.
>
>
>Cheers,
>Andreas
>
>
SPARC32 has a 4:4 address space. You still use HIGHMEM?!
next prev parent reply other threads:[~2025-09-12 9:38 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-09 21:23 Arnd Bergmann
2025-09-09 21:38 ` H. Peter Anvin
2025-09-09 22:24 ` Linus Torvalds
2025-09-09 22:39 ` H. Peter Anvin
2025-09-10 1:06 ` René Herman
2025-09-10 1:46 ` Matthew Wilcox
2025-09-10 9:49 ` Linus Walleij
2025-09-10 12:17 ` Arnd Bergmann
2025-09-10 12:32 ` David Hildenbrand
2025-09-10 13:10 ` Linus Walleij
2025-09-10 14:04 ` Matthew Wilcox
2025-09-10 15:13 ` Arnd Bergmann
2025-09-10 14:04 ` Richard Weinberger
2025-09-10 16:34 ` Dave Hansen
2025-09-10 20:33 ` Richard Weinberger
2025-09-10 21:56 ` René Herman
2025-09-12 10:30 ` Arnd Bergmann
2025-09-12 12:46 ` Linus Walleij
2025-10-06 20:15 ` Richard Weinberger
2025-09-10 17:11 ` Christophe Leroy
2025-09-10 19:37 ` Richard Weinberger
2025-09-11 5:38 ` Andreas Larsson
2025-09-11 7:53 ` Arnd Bergmann
2025-09-12 9:32 ` Andreas Larsson
2025-09-12 9:36 ` H. Peter Anvin [this message]
2025-09-12 10:17 ` Arnd Bergmann
2025-09-12 9:58 ` H. Peter Anvin
2025-09-12 13:16 ` Matthew Wilcox
2025-09-12 16:49 ` Nicolas Ferre
2025-09-12 21:09 ` Arnd Bergmann
2025-09-17 12:59 ` Jason Gunthorpe
2025-09-18 13:12 ` Arnd Bergmann
2025-09-18 13:34 ` Andrew Lunn
2025-09-18 16:18 ` Arnd Bergmann
2025-09-18 16:32 ` Andrew Lunn
2025-09-19 7:17 ` Geert Uytterhoeven
2025-09-19 14:22 ` Arnd Bergmann
2025-09-19 14:34 ` Jason Gunthorpe
2025-09-22 6:58 ` Arnd Bergmann
2025-09-22 17:05 ` Nicolas Schichan
2025-09-22 21:22 ` Arnd Bergmann
2025-09-19 14:41 ` Nicolas Ferre
2025-09-19 14:22 ` Nicolas Ferre
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0FEA041E-A07E-4259-AFBC-02906D122C3A@zytor.com \
--to=hpa@zytor.com \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=alexander.sverdlin@gmail.com \
--cc=andreas@gaisler.com \
--cc=ankur.a.arora@oracle.com \
--cc=arnd@arndb.de \
--cc=chester.a.unal@arinc9.com \
--cc=christophe.leroy@csgroup.eu \
--cc=david@redhat.com \
--cc=geert+renesas@glider.be \
--cc=heiko@sntech.de \
--cc=imx@lists.linux.dev \
--cc=ira.weiny@intel.com \
--cc=ksummit@lists.linux.dev \
--cc=l.stach@pengutronix.de \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=nm@ti.com \
--cc=richard@nod.at \
--cc=rppt@kernel.org \
--cc=sergio.paracuellos@gmail.com \
--cc=surenb@google.com \
--cc=vbabka@suse.cz \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox