Re: 32-bit HIGHMEM and game console downstreams

Arnd Bergmann
2025-09-16T06:21:07Z

On Tue, Sep 16, 2025, at 03:57, Ash Logan wrote:
> On 13/9/25 23:52, Arnd Bergmann wrote:
>
>> Like most other machines, this one is probably fine with a combination
>> of a custom LOWMEM_SIZE setting and using zram-highmem, even if we
>> end up removing support for highmem page cache.
>
> Good shout - I'm now testing a 2G/2G split which allows for 1536MiB
> lowmem. I know that's a somewhat aggressive setting for userspace, so
> we'll see if anything breaks. I read Rasbian shipped similar kernels and
> had issues with Wine, though that's not a common use case on PowerPC ^^

For experiments I would suggest going all the way to 2GB lowmem on MEM2,
which would require running without MEM1. At least on powerpc you have
complete flexibility with the vmsplit, compared to arm and x86 that
only have a few distinct options.

If you run into problems with ~1.8GB user addressing, you can still
see where exactly the problem is and whether it's fixable. E.g. If
there is a single process that tries to actually use most of the
available RAM, it will likely fail when it runs out of address
space in malloc(), and there is not much we can do about that.

>> The smaller devices are probable getting problematic sooner, 96MB
>> in the Wii is already really tight and this only gets worse over
>> time.
>
> The maintainer of that downstream claims to be able to boot modern
> text-mode distros on the GameCube' 24MB, which I find really impressive!

24MB is impressive indeed. In my latest tests I did not get below 32MB
(+swap) on an ARMv7 kernel with Debian Bookworm, and major features
turned off in both kernel and userland.

On a simpler musl+busybox userland and even more feature reduced
kernel (no network, initramfs-only) I could get to ~10MB, but then it
doesn't really do anything besides showing a shell.

Arnd