On 2/9/2026 10:44 PM, Smita Koralahalli wrote:
This series aims to address long-standing conflicts between HMEM and
CXL when handling Soft Reserved memory ranges.
Reworked from Dan's patch:
https://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git/patch/?id=ab70c6227ee6165a562c215d9dcb4a1c55620d5d
Previous work:
https://lore.kernel.org/all/[email protected]/
Link to v5:
https://lore.kernel.org/all/[email protected]
The series is based on branch "for-7.0/cxl-init" and base-commit is
base-commit: bc62f5b308cbdedf29132fe96e9d591e526527e1
[snip]..
[5] When CXL_BUS = m (with CXL_ACPI, CXL_PCI, CXL_PORT, CXL_MEM = m),
DAX_CXL = m and DAX_HMEM = y the results are as expected. To validate the
Typo here, this is DAX_HMEM = m. Rest all looks good.
Thanks
Smita.
REGISTER path, I forced REGISTER even in cases where SR completely
overlaps the CXL region as I did not have access to a system where the
CXL region range is smaller than the SR range.
850000000-284fffffff : Soft Reserved
850000000-284fffffff : CXL Window 0
850000000-280fffffff : region0
850000000-284fffffff : dax6.0
850000000-284fffffff : System RAM (kmem)
"path":"\/platform\/hmem.6",
"id":6,
"size":"128.00 GiB (137.44 GB)",
"align":2097152
[ 30.897665] devm_cxl_add_dax_region: cxl_region region0: region0:
register dax_region0
[ 30.921015] hmem: hmem_platform probe started.
[ 31.017946] hmem_platform hmem_platform.0: Soft Reserved not fully
contained in CXL; using HMEM
[ 31.056310] alloc_dev_dax_range: dax6.0: alloc range[0]:
0x0000000850000000:0x000000284fffffff
[ 34.781516] cxl-dax: cxl_dax_region_init()
[ 34.781522] cxl-dax: registering driver.
[ 34.781523] cxl-dax: dax_hmem work flushed.
[ 34.781549] alloc_dax_region: cxl_dax_region dax_region0: dax_region
resource conflict for [mem 0x850000000-0x284fffffff]
[ 34.781552] cxl_bus_probe: cxl_dax_region dax_region0: probe: -12
[ 34.781554] cxl_dax_region dax_region0: probe with driver cxl_dax_region
failed with error -12
[snip]