From: Markus Armbruster <armbru@redhat.com>
To: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
Cc: Markus Armbruster <armbru@redhat.com>, fan <nifan.cxl@gmail.com>,
<qemu-devel@nongnu.org>, <linux-cxl@vger.kernel.org>,
<gregory.price@memverge.com>, <ira.weiny@intel.com>,
<dan.j.williams@intel.com>, <a.manzanares@samsung.com>,
<dave@stgolabs.net>, <nmtadam.samsung@gmail.com>,
<jim.harris@samsung.com>, <Jorgen.Hansen@wdc.com>,
<wj28.lee@gmail.com>, Fan Ni <fan.ni@samsung.com>
Subject: Re: [PATCH v7 09/12] hw/cxl/events: Add qmp interfaces to add/release dynamic capacity extents
Date: Tue, 04 Jun 2024 14:28:54 +0200 [thread overview]
Message-ID: <87h6e87uyh.fsf@pond.sub.org> (raw)
In-Reply-To: <20240604125428.00003a1d@Huawei.com> (Jonathan Cameron's message of "Tue, 4 Jun 2024 12:54:28 +0100")
Jonathan Cameron <Jonathan.Cameron@Huawei.com> writes:
> On Tue, 04 Jun 2024 11:18:18 +0200
> Markus Armbruster <armbru@redhat.com> wrote:
>
>> I finally got around to read this slowly. Thank you, Fan and Jonathan!
>>
>> I'm getting some "incomplete" vibes: "if we ever implement", "patches
>> for this on list", "we aren't emulating this yet at all", and ...
>
> Absolutely. There is a bunch of stuff that we reject today but
> the interfaces allow you to specify it and align with the CXL specification
> Fabric Management API definition which is the spec used to control this
> stuff from a BMC etc. If that doesn't work we have a hardware errata
> problem, so hopefully that is fairly stable.
>
> I think I can publicly confirm there are some related errata in flight,
> seeing as we said we'd raise questions on some aspects in the kernel and
> QEMU series preceding this one (so no IP secrecy issues). These are as a
> result of this work from Fan, but we have carefully avoided implementing
> anything that 'may' change.
>
>
>>
>> Jonathan Cameron <Jonathan.Cameron@Huawei.com> writes:
>>
>> [...]
>>
>> > Only thing I'd add is that for now (because we don't need it for testing
>> > the kernel flows) is that this does not provide any way for external
>> > agents (e.g. our 'fabric manager' to find out what the state is - i.e.
>> > if the extents have been accepted by the host etc). That stuff is all
>> > defined by the spec, but not yet in the QMP interface. At somepoint
>> > we may want to add that as a state query type interface.
>>
>> ... this, too.
>>
>> In review of v5, I asked whether this interface needs to be stable.
>>
>> "Not stable" doesn't mean we change an interface without thought. It
>> merely means we can change it much, much faster, and with much less
>> overhead.
>>
>> I understand you want it chiefly for CXL development. Development aids
>> commonly don't need to be stable.
>
> Ok. If it makes sense to make this unstable for now I'm fine with that.
> I don't see why it would change beyond in backwards compatible fashion
> with new optional fields to cover future specification updates allowing
> for more information. However I've been wrong on such things before.
>
> So I'm fine adding a patch on top of v8 marking them unstable for now.
I'd squash it into v8, but follow-up patch works for me, too.
>> If you're aiming for stable, you need to convince us the interface can
>> support the foreseeable purposes without incompatible changes. In
>> particular, I'd like to see how you intend to support "finding out what
>> the state is". I suspect that's related to my question in review of v8:
>> how to detect completion, and maybe track progress.
>
> There is a need for completion information but given it's completely
> asynchronous to the commands defined here (Can be out of order, lots of
> ongoing capacity add / remove flows in flight etc) and for the hardware
> definition the feedback occurs via an event record log I'm not expecting it
> to affect the interfaces added so far.
>
>>
>> There's infrastructure for background jobs: job.json. We might be
>> better off using it, unless completion is trivial and progress tracking
>> unnecessary.
>
> I'll take a look, but these are not conventional background commands
> (We do have those as well, but that's a whole different set of future
> problems!)
>
> The actual command itself completes synchronously but not the flow
> it kicked off which is not background as such because it may never
> finish and involves lots of moving parts. This is similar to any
> form of error injection. We inject the error synchronously and that
> creates a bunch of records in various registers / firmware etc but
> the actions the host OS takes are asynchronous and may only happen
> when it decides to poll some register or a driver loads much later.
>
> So I'm not sure if job.json approach fits.
Neither am I, but I want you to be aware of it, so you can make an
informed decision :)
>> [...]
next prev parent reply other threads:[~2024-06-04 12:28 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-18 23:10 [PATCH v7 00/12] Enabling DCD emulation support in Qemu nifan.cxl
2024-04-18 23:10 ` [PATCH v7 01/12] hw/cxl/cxl-mailbox-utils: Add dc_event_log_size field to output payload of identify memory device command nifan.cxl
2024-04-19 16:40 ` Gregory Price
2024-04-18 23:10 ` [PATCH v7 02/12] hw/cxl/cxl-mailbox-utils: Add dynamic capacity region representative and mailbox command support nifan.cxl
2024-04-19 16:44 ` Gregory Price
2024-04-18 23:10 ` [PATCH v7 03/12] include/hw/cxl/cxl_device: Rename mem_size as static_mem_size for type3 memory devices nifan.cxl
2024-04-19 16:45 ` Gregory Price
2024-04-18 23:10 ` [PATCH v7 04/12] hw/mem/cxl_type3: Add support to create DC regions to " nifan.cxl
2024-04-19 16:47 ` Gregory Price
2024-05-14 8:14 ` Zhijian Li (Fujitsu)
2024-05-16 17:06 ` fan
2024-04-18 23:10 ` [PATCH v7 05/12] hw/mem/cxl-type3: Refactor ct3_build_cdat_entries_for_mr to take mr size instead of mr as argument nifan.cxl
2024-04-19 16:39 ` Gregory Price
2024-04-18 23:10 ` [PATCH v7 06/12] hw/mem/cxl_type3: Add host backend and address space handling for DC regions nifan.cxl
2024-04-19 17:27 ` Gregory Price
2024-04-22 11:55 ` Jonathan Cameron
2024-04-22 11:52 ` Jonathan Cameron
2024-05-14 8:28 ` Zhijian Li (Fujitsu)
2024-05-16 17:07 ` fan
2024-04-18 23:10 ` [PATCH v7 07/12] hw/mem/cxl_type3: Add DC extent list representative and get DC extent list mailbox support nifan.cxl
2024-04-19 16:52 ` Gregory Price
2024-04-18 23:10 ` [PATCH v7 08/12] hw/cxl/cxl-mailbox-utils: Add mailbox commands to support add/release dynamic capacity response nifan.cxl
2024-04-19 18:12 ` Gregory Price
2024-04-18 23:11 ` [PATCH v7 09/12] hw/cxl/events: Add qmp interfaces to add/release dynamic capacity extents nifan.cxl
2024-04-19 18:13 ` Gregory Price
2024-04-22 12:01 ` Jonathan Cameron
2024-04-26 9:12 ` Markus Armbruster
2024-04-26 17:31 ` fan
2024-04-29 7:58 ` Markus Armbruster
2024-04-30 17:17 ` fan
2024-05-01 14:58 ` Jonathan Cameron
2024-05-01 22:36 ` fan
2024-06-04 9:18 ` Markus Armbruster
2024-06-04 11:54 ` Jonathan Cameron
2024-06-04 12:13 ` Jonathan Cameron
2024-06-04 12:28 ` Markus Armbruster [this message]
2024-04-30 17:21 ` Jonathan Cameron
2024-05-01 22:29 ` fan
2024-05-20 16:50 ` Jonathan Cameron
2024-05-20 17:55 ` fan
2024-05-21 23:32 ` fan
2024-05-23 15:31 ` Jonathan Cameron
2024-05-21 23:38 ` fan
2024-05-23 15:32 ` Jonathan Cameron
2024-05-14 2:35 ` Zhijian Li (Fujitsu)
2024-04-18 23:11 ` [PATCH v7 10/12] hw/mem/cxl_type3: Add DPA range validation for accesses to DC regions nifan.cxl
2024-04-19 16:57 ` Gregory Price
2024-04-18 23:11 ` [PATCH v7 11/12] hw/cxl/cxl-mailbox-utils: Add superset extent release mailbox support nifan.cxl
2024-04-19 18:20 ` Gregory Price
2024-04-18 23:11 ` [PATCH v7 12/12] hw/mem/cxl_type3: Allow to release extent superset in QMP interface nifan.cxl
2024-04-19 18:20 ` Gregory Price
2024-04-19 18:24 ` [PATCH v7 00/12] Enabling DCD emulation support in Qemu Gregory Price
2024-04-19 18:43 ` fan
2024-04-20 20:35 ` Gregory Price
2024-04-22 12:04 ` Jonathan Cameron
2024-04-22 14:23 ` Jonathan Cameron
2024-04-22 15:07 ` Jonathan Cameron
2024-04-22 15:42 ` Gregory Price
2024-05-16 17:05 ` fan
2024-05-17 12:18 ` Jonathan Cameron
2024-05-17 16:03 ` fan
2024-05-28 18:10 ` Gregory Price
2024-05-14 2:16 ` Zhijian Li (Fujitsu)
2024-05-16 17:12 ` fan
2024-05-17 2:20 ` Zhijian Li (Fujitsu)
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=87h6e87uyh.fsf@pond.sub.org \
--to=armbru@redhat.com \
--cc=Jonathan.Cameron@Huawei.com \
--cc=Jorgen.Hansen@wdc.com \
--cc=a.manzanares@samsung.com \
--cc=dan.j.williams@intel.com \
--cc=dave@stgolabs.net \
--cc=fan.ni@samsung.com \
--cc=gregory.price@memverge.com \
--cc=ira.weiny@intel.com \
--cc=jim.harris@samsung.com \
--cc=linux-cxl@vger.kernel.org \
--cc=nifan.cxl@gmail.com \
--cc=nmtadam.samsung@gmail.com \
--cc=qemu-devel@nongnu.org \
--cc=wj28.lee@gmail.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