Re: [PATCH v2] vhost/vdpa: Add MSI translation tables to iommu for software-managed MSI

From: Nanyong Sun
Date: Thu Mar 23 2023 - 05:23:35 EST



On 2023/3/10 20:36, Jason Gunthorpe wrote:
On Fri, Mar 10, 2023 at 04:53:42AM -0500, Michael S. Tsirkin wrote:
On Fri, Mar 10, 2023 at 05:45:46PM +0800, Jason Wang wrote:
On Fri, Mar 10, 2023 at 4:41 PM Michael S. Tsirkin <mst@xxxxxxxxxx> wrote:
On Mon, Feb 20, 2023 at 10:37:18AM +0800, Jason Wang wrote:
On Fri, Feb 17, 2023 at 8:43 PM Jason Gunthorpe <jgg@xxxxxxxxxx> wrote:
On Fri, Feb 17, 2023 at 05:12:29AM -0500, Michael S. Tsirkin wrote:
On Thu, Feb 16, 2023 at 08:14:50PM -0400, Jason Gunthorpe wrote:
On Tue, Feb 07, 2023 at 08:08:43PM +0800, Nanyong Sun wrote:
From: Rong Wang <wangrong68@xxxxxxxxxx>

Once enable iommu domain for one device, the MSI
translation tables have to be there for software-managed MSI.
Otherwise, platform with software-managed MSI without an
irq bypass function, can not get a correct memory write event
from pcie, will not get irqs.
The solution is to obtain the MSI phy base address from
iommu reserved region, and set it to iommu MSI cookie,
then translation tables will be created while request irq.
Probably not what anyone wants to hear, but I would prefer we not add
more uses of this stuff. It looks like we have to get rid of
iommu_get_msi_cookie() :\

I'd like it if vdpa could move to iommufd not keep copying stuff from
it..
Absolutely but when is that happening?
Don't know, I think it has to come from the VDPA maintainers, Nicolin
made some drafts but wasn't able to get it beyond that.
Cindy (cced) will carry on the work.

Thanks
Hmm didn't see anything yet. Nanyong Sun maybe you can take a look?
Just to clarify, Cindy will work on the iommufd conversion for
vhost-vDPA, the changes are non-trivial and may take time. Before we
are able to achieve that, I think we still need something like this
patch to make vDPA work on software managed MSI platforms.

Maybe Nanyong can post a new version that addresses the comment so far?

Thanks
Maybe but an ack from iommu maintainers will be needed anyway. Let's see
that version, maybe split the export to a patch by itself to make the
need for that ack clear.
A patch to export that function is alread posted:

https://lore.kernel.org/linux-iommu/BN9PR11MB52760E9705F2985EACCD5C4A8CBA9@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/T/#u

But I do not want VDPA to mis-use it unless it also implements all the
ownership stuff properly.

Jason
.
I want to confirm if we need to introduce iommu group logic to vdpa, as "all the ownership stuff" ?