From: Alejandro Lucero Palau <alejandro.lucero-palau@amd.com>
To: Richard Cheng <icheng@nvidia.com>,
dave@stgolabs.net, jic23@kernel.org, dave.jiang@intel.com,
alison.schofield@intel.com, vishal.l.verma@intel.com,
djbw@kernel.org
Cc: iweiny@kernel.org, ming.li@zohomail.com, gourry@gourry.net,
rrichter@amd.com, linux-cxl@vger.kernel.org,
linux-kernel@vger.kernel.org, newtonl@nvidia.com,
kristinc@nvidia.com, kaihengf@nvidia.com, kobak@nvidia.com
Subject: Re: [RFC PATCH 0/3] cxl: Auto-create a region for Type-2 memdev attach
Date: Wed, 12 Aug 2026 10:58:02 +0100 [thread overview]
Message-ID: <a3978557-59d5-49bc-bdb3-9ef2dfa025d3@amd.com> (raw)
In-Reply-To: <20260805074042.30173-1-icheng@nvidia.com>
Hi Richard,
Some comments below.
Thanks!
On 8/5/26 08:40, Richard Cheng wrote:
> A Type-2 accelerator driver calls devm_cxl_probe_mem() to register its
> memdev and get an HPA range, but today only if FW already committed a
> region. Real accelerators can have usable memory with no committed decoder,
> so get nothing.
The previous paragraph describes the current situation and the next one
is about what the patchset tries to address. Maybe to explicitly make
the difference would help people not so used to the subject.
> If no FW region is mapped, the core picks the device's unused manual
> DEVMEM decoder and a compatible x1 Type-2 RAM root
I had to look for this x1 reference ... and I would say it creates
confusion. At least it does to me. Not sure if you meant interleaving,
because I do not think you are referring to link lanes here ...
> , allocates the full
> volatile DPA and HPA, commits the decoder, and returns the range.
This is something requiring discussion or clarification. I think it
would make sense the provider/driver specifying a DPA size instead of
using the default full size. I think there is a good reason for this
non-default size use: why would the kernel create a region from a CXL
Type2 device using the full DPA size when the FW/BIOS did not do so?
This leads us to wondering why the FW/BIOS would not do so, the use
case. Current Intel/AMD BIOS (I think you have the aim at ARM servers)
are not allowing this case ... for a Type2 device having all the bits in
place. If something requires to be specifically configured, would not
the driver do so before using the CXL mem? If this logic makes sense,
the auto-creation should not be the way to go.
The first 15 Type2 basic support patchset versions supported the case of
a driver specifying the size for the cxl region to be created. And it
was through a specific API call after the memdev was created. Last Type2
patchset and the functionality finally merged only supported the case of
auto-create regions from committed decoders, and using this final
agreement for region attachment by the Type2 memdev/driver. I think it
makes sense in that supported case to have the auto-create region but I
can not see the reason for the case you are addressing now.
> Unbind
> resets and removes it. Strict first cut with single decoder, IW=1, minimum
> granularity, first-compatible root.
I'm lost here.
>
> The design intent is that the provider F_LOCKs its region against userspace
> but must reset its own software region on detach. A plain flag would also
> allow reset on generic kill/delete paths, so we thread a reset context
> through teardown and commit rollback. devm_cxl_probe_mem() may now commit
> decoders.
If there is a real use case for this auto-create region from
non-committed decoders, I think your patchset makes sense. But I'm
afraid we need to discuss this further.
Thank you,
Alejandro.
> Testing result is in the following.
> - Built clean with clang/LLVM on arm64
> - cxl_test, type2_test=1. accel0 takes the unchanged attach path. accel1
> drives auto_create -> a committed 512 MB RAM region. The test asserts
> the 512 MB HPA range. committed state and 256 byte granularity confirmed
> via sysfs.
> - Unbind tears the region down with no orphaned decoder, rebind re-creates
> a fresh committed region.
> - Mock test only. Real accelerators whose FW commits a decoder take the
> attach path, and vfio-cxl binds only FW-committed devices, so auto-create
> has no real-HW caller yet.
>
> Best regards,
> Richard Cheng.
>
> Richard Cheng (3):
> cxl/region: Reset software-created regions on memdev detach
> cxl/region: Auto-create a region for memdev attach
> cxl/test: Exercise Type-2 automatic region creation
>
> drivers/cxl/core/region.c | 422 +++++++++++++++++++++++++++++----
> tools/testing/cxl/test/accel.c | 7 +
> tools/testing/cxl/test/cxl.c | 61 ++++-
> 3 files changed, 439 insertions(+), 51 deletions(-)
>
>
> base-commit: 1c6b4ceafc3b994871c29340e0c1ddb0af5800e7
next prev parent reply other threads:[~2026-08-12 9:58 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-05 7:40 Richard Cheng
2026-08-05 7:40 ` [RFC PATCH 1/3] cxl/region: Reset software-created regions on memdev detach Richard Cheng
2026-08-05 7:40 ` [RFC PATCH 2/3] cxl/region: Auto-create a region for memdev attach Richard Cheng
2026-08-12 11:14 ` Alejandro Lucero Palau
2026-08-05 7:40 ` [RFC PATCH 3/3] cxl/test: Exercise Type-2 automatic region creation Richard Cheng
2026-08-12 9:58 ` Alejandro Lucero Palau [this message]
2026-08-20 9:41 ` [RFC PATCH 0/3] cxl: Auto-create a region for Type-2 memdev attach Richard Cheng
2026-08-25 9:50 ` Lucero Palau, Alejandro
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a3978557-59d5-49bc-bdb3-9ef2dfa025d3@amd.com \
--to=alejandro.lucero-palau@amd.com \
--cc=alison.schofield@intel.com \
--cc=dave.jiang@intel.com \
--cc=dave@stgolabs.net \
--cc=djbw@kernel.org \
--cc=gourry@gourry.net \
--cc=icheng@nvidia.com \
--cc=iweiny@kernel.org \
--cc=jic23@kernel.org \
--cc=kaihengf@nvidia.com \
--cc=kobak@nvidia.com \
--cc=kristinc@nvidia.com \
--cc=linux-cxl@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ming.li@zohomail.com \
--cc=newtonl@nvidia.com \
--cc=rrichter@amd.com \
--cc=vishal.l.verma@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®