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: 84+ 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-14 8:14 ` Zhijian Li (Fujitsu) via
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:55 ` Jonathan Cameron via
2024-04-22 11:52 ` Jonathan Cameron
2024-04-22 11:52 ` Jonathan Cameron via
2024-05-14 8:28 ` Zhijian Li (Fujitsu)
2024-05-14 8:28 ` Zhijian Li (Fujitsu) via
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-22 12:01 ` Jonathan Cameron via
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 14:58 ` Jonathan Cameron via
2024-05-01 22:36 ` fan
2024-06-04 9:18 ` Markus Armbruster
2024-06-04 11:54 ` Jonathan Cameron
2024-06-04 11:54 ` Jonathan Cameron via
2024-06-04 12:13 ` Jonathan Cameron
2024-06-04 12:13 ` Jonathan Cameron via
2024-06-04 12:28 ` Markus Armbruster [this message]
2024-04-30 17:21 ` Jonathan Cameron
2024-04-30 17:21 ` Jonathan Cameron via
2024-05-01 22:29 ` fan
2024-05-20 16:50 ` Jonathan Cameron
2024-05-20 16:50 ` Jonathan Cameron via
2024-05-20 17:55 ` fan
2024-05-21 23:32 ` fan
2024-05-23 15:31 ` Jonathan Cameron
2024-05-23 15:31 ` Jonathan Cameron via
2024-05-21 23:38 ` fan
2024-05-23 15:32 ` Jonathan Cameron
2024-05-23 15:32 ` Jonathan Cameron via
2024-05-14 2:35 ` Zhijian Li (Fujitsu)
2024-05-14 2:35 ` Zhijian Li (Fujitsu) via
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 12:04 ` Jonathan Cameron via
2024-04-22 14:23 ` Jonathan Cameron
2024-04-22 14:23 ` Jonathan Cameron via
2024-04-22 15:07 ` Jonathan Cameron
2024-04-22 15:07 ` Jonathan Cameron via
2024-04-22 15:42 ` Gregory Price
2024-05-16 17:05 ` fan
2024-05-17 12:18 ` Jonathan Cameron
2024-05-17 12:18 ` Jonathan Cameron via
2024-05-17 16:03 ` fan
2024-05-28 18:10 ` Gregory Price
2024-05-14 2:16 ` Zhijian Li (Fujitsu)
2024-05-14 2:16 ` Zhijian Li (Fujitsu) via
2024-05-16 17:12 ` fan
2024-05-17 2:20 ` Zhijian Li (Fujitsu)
2024-05-17 2:20 ` Zhijian Li (Fujitsu) via
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.