Re: [PATCH 05/11] x86: remove HIGHMEM64G support

From: Arnd Bergmann
Date: Wed Dec 04 2024 - 08:44:05 EST


On Wed, Dec 4, 2024, at 14:29, Brian Gerst wrote:
> On Wed, Dec 4, 2024 at 5:34 AM Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
>>
>> - In the early days of x86-64 hardware, there was sometimes the need
>> to run a 32-bit kernel to work around bugs in the hardware drivers,
>> or in the syscall emulation for 32-bit userspace. This likely still
>> works but there should never be a need for this any more.
>>
>> Removing this also drops the need for PHYS_ADDR_T_64BIT and SWIOTLB.
>> PAE mode is still required to get access to the 'NX' bit on Atom
>> 'Pentium M' and 'Core Duo' CPUs.
>
> 8GB of memory is still useful for 32-bit guest VMs.

Can you give some more background on this?

It's clear that one can run a virtual machine this way and it
currently works, but are you able to construct a case where this
is a good idea, compared to running the same userspace with a
64-bit kernel?

>From what I can tell, any practical workload that requires
8GB of total RAM will likely run into either the lowmem
limits or into virtual addressig limits, in addition to the
problems of 32-bit kernels being generally worse than 64-bit
ones in terms of performance, features and testing.

Arnd