On Fri, Aug 21, 2020 at 11:30 AM David Hildenbrand <david(a)redhat.com> wrote:
On 21.08.20 20:27, Dan Williams wrote:
> On Fri, Aug 21, 2020 at 3:15 AM David Hildenbrand <david(a)redhat.com> wrote:
>>>> 1. On x86-64, e820 indicates "soft-reserved" memory. This
memory is not
>>>> automatically used in the buddy during boot, but remains untouched
>>>> (similar to pmem). But as it involves ACPI as well, it could also be
>>>> used on arm64 (-e820), correct?
>>> Correct, arm64 also gets the EFI support for enumerating memory this
>>> way. However, I would clarify that whether soft-reserved is given to
>>> the buddy allocator by default or not is the kernel's policy choice,
>>> "buddy-by-default" is ok and is what will happen anyways with
>>> kernels on platforms that enumerate a memory range this way.
>> Is "soft-reserved" then the right terminology for that? It sounds
>> x86-64/e820 specific. Maybe a compressed for of "performance
>> differentiated memory" might be a better fit to expose to user space, no?
> No. The EFI "Specific Purpose" bit is an attribute independent of
> e820, it's x86-Linux that entangles those together. There is no
> requirement for platform firmware to use that designation even for
> drastic performance differentiation between ranges, and conversely
> there is no requirement that memory *with* that designation has any
> performance difference compared to the default memory pool. So it
> really is a reservation policy about a memory range to keep out of the
> buddy allocator by default.
Okay, still "soft-reserved" is x86-64 specific, no?
There's nothing preventing other EFI archs, or a similar designation
in another firmware spec, picking up this policy.
"soft-reserved" will be visible in /proc/iomem, or am I confusing
No, you're correct.
IOW, it "performance differentiated" is not universally
applicable, maybe "specific purpose memory" is ?
Those bikeshed colors don't seem an improvement to me.
"Soft-reserved" actually tells you something about the kernel policy
for the memory. The criticism of "specific purpose" that led to
calling it "soft-reserved" in Linux is the fact that "specific" is
undefined as far as the firmware knows, and "specific" may have
different applications based on the platform user. "Soft-reserved"
like "Reserved" tells you that a driver policy might be in play for
Also note that the current color of the bikeshed has already shipped since v5.5:
262b45ae3ab4 x86/efi: EFI soft reservation to E820 enumeration