RE: [patch 21/32] NTB/msi: Convert to msi_on_each_desc()

From: Tian, Kevin
Date: Thu Sep 22 2022 - 18:43:05 EST


> From: Jason Gunthorpe <jgg@xxxxxxxxxx>
> Sent: Thursday, September 22, 2022 8:14 PM
>
> On Thu, Sep 22, 2022 at 05:11:00AM +0000, Tian, Kevin wrote:
>
> > > Thinking of the interrupt routing as a host resource is the problem -
> > > it is a device resource and just like PASID the ideal design would
> > > have each RID have its own stable numberspace scoped within it. The
> > > entire RID and all its stable numberspace would be copied over.
> > >
> >
> > Unfortunately it is not the case at least on Intel VT-d. The interrupt
> > remapping table is per VT-d instead of per RID.
>
> Doesn't that just turn it into a SW problem how it manages it?
>

When IRTEs are shared cross RID's I'm not sure how to make the
allocation stable between the src and the dest. They are allocated
dynamically and hierarchically in request_irq().

I'm not sure what SW mechanism can cleanly ensure a stable
allocation scheme between two machines.

Can you elaborate?