On Fri, Aug 21, 2020 at 11:30 AM David Hildenbrand <david@xxxxxxxxxx> wrote: > > On 21.08.20 20:27, Dan Williams wrote: > > On Fri, Aug 21, 2020 at 3:15 AM David Hildenbrand <david@xxxxxxxxxx> 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 older > >>> kernels on platforms that enumerate a memory range this way. > >> > >> Is "soft-reserved" then the right terminology for that? It sounds very > >> 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. > (AFAIK, > "soft-reserved" will be visible in /proc/iomem, or am I confusing > stuff?) 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 that memory. Also note that the current color of the bikeshed has already shipped since v5.5: 262b45ae3ab4 x86/efi: EFI soft reservation to E820 enumeration