From: Markus Armbruster <armbru@redhat.com>
To: Alireza Sanaee <alireza.sanaee@huawei.com>
Cc: <qemu-devel@nongnu.org>, <anisa.su@samsung.com>,
<berrange@redhat.com>, <eblake@redhat.com>,
<jonathan.cameron@huawei.com>, <linux-cxl@vger.kernel.org>,
<linuxarm@huawei.com>, <lizhijian@fujitsu.com>,
<mst@redhat.com>, <pbonzini@redhat.com>, <gourry@gourry.net>,
<nifan.cxl@gmail.com>, <me@linux.beauty>
Subject: Re: [PATCH 9/9] hw/cxl: Add QMP status query for dynamic-capacity extent release
Date: Thu, 26 Mar 2026 16:15:40 +0100 [thread overview]
Message-ID: <87mrzuei5f.fsf@pond.sub.org> (raw)
In-Reply-To: <20260325184259.366-10-alireza.sanaee@huawei.com> (Alireza Sanaee's message of "Wed, 25 Mar 2026 18:42:57 +0000")
I'm a near-complete CXL ignoramus, and beg your patience.
Alireza Sanaee <alireza.sanaee@huawei.com> writes:
> Add a small status query so orchestration layers can check whether a tagged
> extent is still pending, committed, or no longer present after a release
> request.
Why would they want to check?
What is a "release request"?
>
> Introduce the ExtentStatus QAPI struct and the
> cxl-release-dynamic-capacity-status command.
>
> Signed-off-by: Alireza Sanaee <alireza.sanaee@huawei.com>
[...]
> diff --git a/qapi/cxl.json b/qapi/cxl.json
> index 81d6198ba0..53325ba530 100644
> --- a/qapi/cxl.json
> +++ b/qapi/cxl.json
> @@ -636,3 +636,49 @@
> },
> 'features': [ 'unstable' ]
> }
> +
> +##
> +# @ExtentStatus:
Blank line here, please.
> +# This is an object that describes the status of an extent.
> +#
> +# @status: String indicating the overall result, e.g. "success".
What are the possible values? Are they defined in some spec?
> +# @message: Human-readable description of the outcome.
Intended use?
> +#
> +# Since: 9.1
11.1 most likely.
> +##
> +{ 'struct': 'ExtentStatus',
> + 'data': { 'status': 'str', 'message': 'str' }
> +}
> +
> +##
> +# @cxl-release-dynamic-capacity-status:
> +#
> +# This commands checks if an extent tag has been released or not.
Use imperative mood to describe commands: "Check whether an extent tag
has been released."
> +#
> +# @path: path to the CXL Dynamic Capacity Device in the QOM tree.
We commonly call such members @qom-path.
> +#
> +# @host-id: The "Host ID" field as defined in Compute Express Link
> +# (CXL) Specification, Revision 3.1, Table 7-71.
> +#
> +# @region: The "Region Number" field as defined in Compute Express
> +# Link Specification, Revision 3.1, Table 7-71. Valid range
> +# is from 0-7.
> +#
> +# @tag: The "Tag" field as defined in Compute Express Link (CXL)
> +# Specification, Revision 3.1, Table 7-71.
I guess the command interrogates something called "extent", and the
something is related to the CXL device at @path in the QOM tree.
Correct?
How is it related? Is it a part of the device?
I further guess multiple extends can be so related, and @host-id,
@region, and @tag identify select the one we want to interrogate.
Correct?
> +#
> +# Features:
> +#
> +# @unstable: For now this command is subject to change.
The conventional language is "This command is experimental."
> +#
> +# Since: 9.1
11.1 most likely.
> +##
> +{ 'command': 'cxl-release-dynamic-capacity-status',
> + 'data': { 'path': 'str',
> + 'host-id': 'uint16',
> + 'region': 'uint8',
> + 'tag': 'str'
> + },
> + 'features': [ 'unstable' ],
> + 'returns': 'ExtentStatus'
Swap these two lines, please.
> +}
next prev parent reply other threads:[~2026-03-26 15:15 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-25 18:42 [QEMU PATCH 0/9] Application Specific Tagged Memory Support in CXL Type 3 Devices Alireza Sanaee
2026-03-25 18:42 ` [PATCH 1/9] hw/mem: Add tag support to generic host memory backends Alireza Sanaee
2026-03-26 10:42 ` Markus Armbruster
2026-03-26 11:29 ` Alireza Sanaee
2026-03-26 13:01 ` Markus Armbruster
2026-03-26 13:04 ` Alireza Sanaee
2026-03-25 18:42 ` [PATCH 2/9] hw/cxl: Allow initializing type3 device with no backing device Alireza Sanaee
2026-03-25 18:42 ` [PATCH 3/9] hw/cxl: Hook up tagged host memory backends at runtime for DC extents Alireza Sanaee
2026-03-25 18:42 ` [PATCH 4/9] hw/cxl: Carry backend metadata in DC extent records Alireza Sanaee
2026-03-25 18:42 ` [PATCH 5/9] hw/cxl: Map lazy memory backend after host acceptance Alireza Sanaee
2026-03-30 8:24 ` Anisa Su
2026-03-30 17:18 ` Anisa Su
2026-03-25 18:42 ` [PATCH 6/9] hw/cxl: Create direct fixed-window aliases for accepted extents Alireza Sanaee
2026-03-25 18:42 ` [PATCH 7/9] hw/cxl: Add release-time teardown for direct-mapped extents Alireza Sanaee
2026-03-25 18:42 ` [PATCH 8/9] hw/cxl: Add tag-based dynamic-capacity release support Alireza Sanaee
2026-03-30 18:03 ` Anisa Su
2026-03-31 14:53 ` Alireza Sanaee
2026-03-25 18:42 ` [PATCH 9/9] hw/cxl: Add QMP status query for dynamic-capacity extent release Alireza Sanaee
2026-03-26 15:15 ` Markus Armbruster [this message]
2026-03-27 15:18 ` Alireza Sanaee
2026-03-28 6:01 ` Markus Armbruster
2026-03-31 14:50 ` Alireza Sanaee
2026-04-01 11:39 ` Markus Armbruster
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=87mrzuei5f.fsf@pond.sub.org \
--to=armbru@redhat.com \
--cc=alireza.sanaee@huawei.com \
--cc=anisa.su@samsung.com \
--cc=berrange@redhat.com \
--cc=eblake@redhat.com \
--cc=gourry@gourry.net \
--cc=jonathan.cameron@huawei.com \
--cc=linux-cxl@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=lizhijian@fujitsu.com \
--cc=me@linux.beauty \
--cc=mst@redhat.com \
--cc=nifan.cxl@gmail.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/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