Re: [PATCH] PCI/DOE: Remove asynchronous task support

From: Lukas Wunner
Date: Tue Nov 22 2022 - 14:48:46 EST


On Mon, Nov 21, 2022 at 05:41:48PM +0000, Jonathan Cameron wrote:
> On Mon, 21 Nov 2022 14:17:37 +0000 "Zhuo, Qiuxu" <qiuxu.zhuo@xxxxxxxxx> wrote:
> > It's good that this potential issue has been noticed. I think moving
> > the 'find' logic and the xarray from CXL to the PCI core should save
> > a lot of such duplicated works for other drivers using DOE.
> >
> > One more though:
> > For a driver, I think it's only interested in getting a DOE mailbox
> > from a PCI device with specified VID+protocol and using it.
> > The driver doesn't care how is the DOE mailbox instance created and
> > the driver also doesn't want to maintain it.

Totally agree on all of your above points Qiuxu.


> > After using the DOE mailbox instance then the driver puts it back.

That won't be necessary I think. The PCI core allocates all existing
DOE mailboxes and enumerates the supported protocols. Drivers just
ask the PCI core for a mailbox supporting a specific protocol and
are free to use that as long as the PCI device exists.


> There is also a dance around interrupts (once those are supported
> for DOEs in general). Until the PCI driver has requested interrupts
> we can't use them for DOE, but we may want to poll it before that
> stage then switch over.

Thomas Gleixner has returned to his patch sets for dynamic MSI-X
allocation. We'll be able to leverage that to request an interrupt
in the PCI core for DOE before a driver is bound. And a driver
can then get additional MSI-X vectors if needed. Will only work
for MSI-X though, not MSI.

Thanks,

Lukas