Re: [PATCH v6 0/9] dax/hmem, cxl: Coordinate Soft Reserved handling with CXL and HMEM
From: Tomasz Wolski
Date: Sun Feb 22 2026 - 18:18:46 EST
Hi Smita,
>Hi Tomasz,
>
>On 2/20/2026 1:45 AM, Tomasz Wolski wrote:
>> Tested on QEMU and physical setups.
>>
>> I have one question about "Soft Reserve" parent entries in iomem.
>> On QEMU I see parent "Soft Reserved":
>>
>> a90000000-b4fffffff : Soft Reserved
>> a90000000-b4fffffff : CXL Window 0
>> a90000000-b4fffffff : dax1.0
>> a90000000-b4fffffff : System RAM (kmem)
>>
>> While on my physical setup this is missing - not sure if this is okay?
>>
>> BIOS-e820: [mem 0x0000002070000000-0x000000a06fffffff] soft reserved
>>
>> 2070000000-606fffffff : CXL Window 0
>> 2070000000-606fffffff : region0
>> 2070000000-606fffffff : dax0.0
>> 2070000000-606fffffff : System RAM (kmem)
>> 6070000000-a06fffffff : CXL Window 1
>> 6070000000-a06fffffff : region1
>> 6070000000-a06fffffff : dax1.0
>> 6070000000-a06fffffff : System RAM (kmem)
>
>Thanks for testing on both setups!
>
>On QEMU: there is no region, so HMEM took ownership of the Soft Reserved
>range (REGISTER path). Patch 9 then reintroduced the Soft Reserved entry
>back into the iomem tree to reflect HMEM ownership.
>
>On physical setup: CXL fully claimed both ranges, region0 and region1
>assembled successfully (DROP path). Since CXL owns the memory, there's
>no Soft Reserved parent to reintroduce.
>
>Soft Reserved appears in /proc/iomem only when CXL does not fully claim
>the range and HMEM takes over. Your physical setup is showing it
>correctly. Maybe CXL_REGION config is false or region assembly failed on
>and has cleaned up on QEMU so there aren't any regions?
Thanks a lot for clarifying the behavior.
I checked QEMU again and it works as you described (sorry, I must've
mixed something up in my notes during previous test)
>Thanks,
>Smita
>
> Tested-by: Tomasz Wolski <tomasz.wolski@xxxxxxxxxxx>