From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: James Bottomley <James.Bottomley@hansenpartnership.com>,
<ksummit@lists.linux.dev>, <linux-cxl@vger.kernel.org>,
<linux-rdma@vger.kernel.org>, <netdev@vger.kernel.org>,
<jgg@nvidia.com>, <admiyo@os.amperecomputing.com>,
Jeremy Kerr <jk@codeconstruct.com.au>,
"Matt Johnston" <matt@codeconstruct.com.au>
Subject: Re: [MAINTAINERS SUMMIT] Device Passthrough Considered Harmful?
Date: Thu, 11 Jul 2024 12:00:27 +0100 [thread overview]
Message-ID: <20240711120027.000079b2@Huawei.com> (raw)
In-Reply-To: <20240710142238.00007295@Huawei.com>
On Wed, 10 Jul 2024 14:22:38 +0100
Jonathan Cameron <Jonathan.Cameron@Huawei.com> wrote:
> On Tue, 9 Jul 2024 15:15:13 -0700
> Dan Williams <dan.j.williams@intel.com> wrote:
>
> > James Bottomley wrote:
> > > > The upstream discussion has yielded the full spectrum of positions on
> > > > device specific functionality, and it is a topic that needs cross-
> > > > kernel consensus as hardware increasingly spans cross-subsystem
> > > > concerns. Please consider it for a Maintainers Summit discussion.
> > >
> > > I'm with Greg on this ... can you point to some of the contrary
> > > positions?
> >
> > This thread has that discussion:
> >
> > http://lore.kernel.org/0-v1-9912f1a11620+2a-fwctl_jgg@nvidia.com
> >
> > I do not want to speak for others on the saliency of their points, all I
> > can say is that the contrary positions have so far not moved me to drop
> > consideration of fwctl for CXL.
>
> I was resisting rat holing. Oh well...
To throw another 'fun' one in there. For anything integrated with the host
there is a proposal to provide a MCTP via PCC (ACPI described mailbox). [1]
I don't think it makes sense to rule that out as it's logically no
different from MCTP in general (e.g. a host controller for PCI VDM, or
I2C etc)
Anyone who has a suitable firmware can do whatever they like with that
and the interfaces is exposed directly to userspace. Adam, perhaps you can
describe your use case a little? Is it applicable to general server distros?
We might suggest distributions don't enable MCTP but does that
actually get us anywhere? Anyhow, I suspect there are other similar routes, but
this one happens to be under review at the moment.
[1] https://lore.kernel.org/all/20240702225845.322234-1-admiyo@os.amperecomputing.com/
>
> For a 'subset' of CXL. There are a wide range of controls that are highly
> destructive, potentially to other hosts (simplest one is a command that
> will surprise remove someone else's memory). For those I'm not sure
> fwctl gets us anywhere - but we still need a solution (Subject to
> config gates etc as typically this is BMCs not hosts).
> Maybe fwctl eventually ends up with levels of 'safety' (beyond the
> current read vs write vs write_full, or maybe those are enough).
>
> Complexities such as message tunneling to multiple components are also
> going to be fun, but we want the non destructive bits of those to work
> as part of the safe set, so we can get telemetry from downstream devices.
>
> Good to cover the debug and telemetry usecase, but it still leaves us with
> gaping holes were we need to solve the permissions problem, perhaps that
> is layered on top of fwctl, perhaps something else is needed.
>
> So if fwctl is adopted, I do want the means to use it for the highly
> destructive stuff as well! Maybe that's a future discussion.
>
>
> >
> > Where CXL has a Command Effects Log that is a reasonable protocol for
> > making decisions about opaque command codes, and that CXL already has a
> > few years of experience with the commands that *do* need a Linux-command
> > wrapper.
>
> Worth asking if this will incorporate unknown but not vendor defined
> commands. There is a long tail of stuff in the spec we haven't caught up
> with yet. Or you thinking keep this for the strictly vendor defined stuff?
>
> >
> > Some open questions from that thread are: what does it mean for the fate
> > of a proposal if one subsystem Acks the ABI and another Naks it for a
> > device that crosses subsystem functionality? Would a cynical hardware
> > response just lead to plumbing an NVME admin queue, or CXL mailbox to
> > get device-specific commands past another subsystem's objection?
> >
> > My reconsideration of the "debug-build only" policy for CXL
> > device-specific commands was influenced by a conversation with a distro
> > developer where they asserted, paraphrasing: "at what point is a device
> > vendor incentivized to ship an out-of-tree module just to restore their
> > passthrough functionality?. At that point upstream has lost out on
> > collaboration and distro kernel ABI has gained another out-of-tree
> > consumer."
> >
> > So the tension is healthy, but it has diminishing returns past a certain
> > point.
> >
>
>
>
next prev parent reply other threads:[~2024-07-11 11:00 UTC|newest]
Thread overview: 126+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-08 22:26 [MAINTAINERS SUMMIT] Device Passthrough Considered Harmful? Dan Williams
2024-07-09 6:09 ` Christoph Hellwig
2024-07-09 19:43 ` Dan Williams
2024-07-10 13:05 ` Jason Gunthorpe
2024-07-21 18:51 ` Laurent Pinchart
2024-07-22 13:27 ` Jason Gunthorpe
2024-07-09 10:01 ` Greg KH
2024-07-09 12:25 ` Leon Romanovsky
2024-07-09 12:33 ` Greg KH
2024-07-09 12:47 ` Leon Romanovsky
2024-07-11 14:07 ` Jason Gunthorpe
2024-07-09 20:09 ` Dan Williams
2024-07-09 16:02 ` James Bottomley
2024-07-09 22:15 ` Dan Williams
2024-07-10 13:22 ` Jonathan Cameron
2024-07-11 11:00 ` Jonathan Cameron [this message]
2024-07-11 15:05 ` Jason Gunthorpe
2024-07-11 17:01 ` Jonathan Cameron
2024-07-11 17:45 ` Jason Gunthorpe
2024-07-11 16:36 ` Dan Williams
2024-07-12 10:37 ` Jonathan Cameron
2024-07-21 19:25 ` Laurent Pinchart
2024-07-22 7:31 ` Leon Romanovsky
2024-07-22 8:53 ` Laurent Pinchart
2024-07-22 10:44 ` Leon Romanovsky
2024-07-22 11:10 ` Laurent Pinchart
2024-07-22 13:28 ` Leon Romanovsky
2024-07-22 14:13 ` Laurent Pinchart
2024-07-22 14:43 ` Jason Gunthorpe
2024-07-22 10:42 ` Ricardo Ribalda Delgado
2024-07-22 11:18 ` Laurent Pinchart
2024-07-22 11:56 ` Ricardo Ribalda Delgado
2024-07-25 20:01 ` Laurent Pinchart
2024-07-26 8:04 ` Ricardo Ribalda Delgado
2024-07-26 10:59 ` Laurent Pinchart
2024-07-26 15:40 ` Ricardo Ribalda Delgado
2024-07-28 17:18 ` Laurent Pinchart
2024-07-29 9:58 ` Ricardo Ribalda Delgado
2024-07-29 10:31 ` Laurent Pinchart
2024-07-31 11:54 ` Sakari Ailus
2024-07-31 13:15 ` Daniel Vetter
2024-08-02 15:07 ` Laurent Pinchart
2024-08-13 10:17 ` Tomasz Figa
2024-08-13 10:26 ` Laurent Pinchart
2024-08-13 10:33 ` Tomasz Figa
2024-08-13 10:58 ` Laurent Pinchart
2024-07-11 13:50 ` Jason Gunthorpe
2024-07-11 15:16 ` James Bottomley
2024-07-11 16:29 ` Jason Gunthorpe
2024-07-23 11:20 ` Jiri Kosina
2024-07-23 11:36 ` James Bottomley
2024-07-23 23:22 ` Jiri Kosina
2024-07-24 20:12 ` James Bottomley
2024-07-24 20:00 ` Laurent Pinchart
2024-07-24 20:37 ` James Bottomley
2024-07-24 21:10 ` Steven Rostedt
2024-07-25 19:31 ` Laurent Pinchart
2024-07-25 19:43 ` Jason Gunthorpe
2024-07-25 20:07 ` Laurent Pinchart
2024-07-25 23:39 ` Jason Gunthorpe
2024-07-26 8:04 ` Ricardo Ribalda Delgado
2024-07-26 12:49 ` Laurent Pinchart
2024-07-26 13:11 ` Jason Gunthorpe
2024-07-26 14:22 ` Laurent Pinchart
2024-07-26 15:43 ` Ricardo Ribalda Delgado
2024-07-28 15:25 ` Laurent Pinchart
2024-07-29 9:57 ` Ricardo Ribalda Delgado
2024-07-29 14:20 ` Jason Gunthorpe
2024-07-26 8:03 ` Ricardo Ribalda Delgado
2024-07-26 13:22 ` Laurent Pinchart
2024-07-26 15:44 ` Ricardo Ribalda Delgado
2024-07-28 17:02 ` Laurent Pinchart
2024-07-26 16:49 ` James Bottomley
2024-07-28 16:44 ` Laurent Pinchart
2024-07-26 17:33 ` Daniel Vetter
2024-07-29 14:10 ` Jason Gunthorpe
2024-07-25 9:26 ` Ricardo Ribalda Delgado
2024-07-25 10:51 ` Wolfram Sang
2024-07-25 12:23 ` Leon Romanovsky
2024-07-25 13:02 ` Ricardo Ribalda Delgado
2024-07-25 13:20 ` Leon Romanovsky
2024-07-25 13:29 ` Mark Brown
2024-07-25 14:18 ` Leon Romanovsky
2024-07-25 14:22 ` James Bottomley
2024-07-25 17:37 ` Leon Romanovsky
2024-07-26 13:58 ` James Bottomley
2024-07-25 19:42 ` Laurent Pinchart
2024-07-26 8:02 ` Ricardo Ribalda Delgado
2024-07-26 13:11 ` Laurent Pinchart
2024-07-26 15:40 ` Ricardo Ribalda Delgado
2024-07-28 11:23 ` Laurent Pinchart
2024-07-29 9:56 ` Ricardo Ribalda Delgado
2024-07-29 10:38 ` Laurent Pinchart
2024-07-26 16:01 ` James Bottomley
2024-07-26 17:56 ` Laurent Pinchart
2024-07-25 13:44 ` Steven Rostedt
2024-07-26 14:27 ` Laurent Pinchart
2024-07-26 15:34 ` Steven Rostedt
2024-07-28 16:03 ` Laurent Pinchart
2024-07-27 0:16 ` Dan Williams
2024-07-28 11:18 ` Laurent Pinchart
2024-07-28 15:16 ` Greg KH
2024-07-28 15:34 ` Laurent Pinchart
2024-07-28 15:49 ` James Bottomley
2024-07-29 6:10 ` Greg KH
2024-07-31 12:33 ` James Bottomley
2024-07-31 12:45 ` Laurent Pinchart
2024-08-01 14:41 ` Jason Gunthorpe
2024-08-07 0:06 ` Dan Williams
2024-08-07 0:13 ` James Bottomley
2024-08-16 11:12 ` Hannes Reinecke
2024-07-29 14:56 ` Jakub Kicinski
2024-07-29 15:16 ` Greg KH
2024-07-29 15:29 ` Jason Gunthorpe
2024-07-29 12:45 ` Jonathan Cameron
2024-07-29 13:38 ` Borislav Petkov
2024-07-29 14:29 ` Jonathan Cameron
2024-07-29 14:58 ` Jason Gunthorpe
2024-07-30 13:19 ` Borislav Petkov
2024-08-01 14:23 ` Jason Gunthorpe
2024-07-29 15:42 ` Jason Gunthorpe
2024-07-29 22:37 ` Dan Williams
2024-07-30 7:13 ` Daniel Vetter
2024-08-01 14:22 ` Jason Gunthorpe
2024-08-06 7:14 ` Daniel Vetter
2024-08-06 13:04 ` Jason Gunthorpe
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=20240711120027.000079b2@Huawei.com \
--to=jonathan.cameron@huawei.com \
--cc=James.Bottomley@hansenpartnership.com \
--cc=admiyo@os.amperecomputing.com \
--cc=dan.j.williams@intel.com \
--cc=jgg@nvidia.com \
--cc=jk@codeconstruct.com.au \
--cc=ksummit@lists.linux.dev \
--cc=linux-cxl@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=matt@codeconstruct.com.au \
--cc=netdev@vger.kernel.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;
as well as URLs for NNTP newsgroup(s).