Re: [PATCH v3 14/17] cxl: docs/allocation/page-allocator

dan.j.williams
2025-05-13T02:40:09Z

Gregory Price wrote:
> On Mon, May 12, 2025 at 06:52:31PM +0100, Matthew Wilcox wrote:
> > >
> > > Feel free to submit patches that deletes the existing code if you want
> > > it removed from the documentation.
> >
> > Who sneaked that in when?
>
> The ACPI and EFI folks when they allowed for CXL memory to be marked
> EFI_CONVENTIONAL_MEMORY - which means Linux can't actually differentiate
> between DRAM and CXL during __init and brings it online in the page
> allocator as SystemRAM in ZONE_NORMAL (attached to the NUMA node that
> maps to the Proximity Domain in the SRAT).
>
> Not sure there's anything you can do about that.
>
> And for DAX:
>
> 09d09e04d2 (cxl/dax: Create dax devices for CXL RAM regions)
>
> Which allows for EFI_MEMORY_SP / Soft Reserved CXL regions to be brought
> up as a DAX devices (which can be bound to SystemRAM via DAX kmem).
>
> Wasn't much sneaking going on here - DAX kmem has been around and hacked
> on since 2019, and probably some years before that.

Right.

These interfaces have been there for a long time and this documentation
is simply catching up with what is there today. I called for all of this
documentation to go upstream and have no problem defending it to Linus.
Appreciate all the work here Gregory!

Now, is device-dax and dax_kmem the long term solution for exposing
memory of this relative performance class? After LSF/MM this year I am
convinced the answer is "no". Specifically I want to see a solution that
meets what this astute LWN commenter recommended:

https://lwn.net/Articles/1017142/

We can delete documentation and infrastructure once we have the
replacement interface upstream and can start a deprecation process.