Re: [RFC PATCH] resource: Fix CXL node not populated issue

From: Raghavendra K T
Date: Wed Dec 11 2024 - 20:02:58 EST


On 12/11/2024 10:17 PM, Bharata B Rao wrote:
On 11-Dec-24 2:08 PM, Dan Williams wrote:
Ah, thanks for that!

So, it turns out Ying's patch is working as advertised. It is traversing
past the top-level entry of the the iomem_resource topology to discover that a
Soft Reserved range is described by CXL. Then the expectation is that
the CXL subsystem parses the topology and registers a dax device.

I missed that detail in my repro because I was not testing the HMEM
handoff.

Now, the dmesg shows that the CXL subsystem gives up early on the
CXL devices as they do not appear to be meeting the expecations of a "CXL
Memory Device" as described by the "PCI Header - Class Code Register
(Offset 09h)" of the CXL spec.

Specifically these messages:

     [    4.449072] cxl_pci 0000:9f:00.0: registers not found: status mbox memdev

I think this situation is increasingly showing that the pace of
non-standard quirks being deployed is higher than CXL subsystem is able
to keep pace.

The immediate workaround to this problem that Linux discovered is to
disable the cxl_acpi driver. Can you confirm that preventing the
cxl_acpi driver from loading restores that missing node?

Yes, disabling CONFIG_CXL_ACPI gets the CXL node up with the memory. Thanks for this workaround.


Thank you Bharata for filling in.

Thank you Dan, Andy, Gregory, Ying for your input. (sorry for the delay because machine was not available as pointed by Bharata).

This helps to proceed with

CONFIG_CXL_ACPI=n for now in my case.

- Raghu