Re: [PATCH 3/6] vfio: remove the unused mdev iommu hook
From: Jason Gunthorpe <jgg@ziepe.ca>
Date: 2021-05-17 12:32:23
Also in:
kvm, linux-iommu
On Mon, May 17, 2021 at 02:22:06PM +0200, Joerg Roedel wrote:
On Fri, May 14, 2021 at 10:31:43AM -0300, Jason Gunthorpe wrote:quoted
There is no place for "domain as a carrier of PASID" there. mdev_device should NOT participate in the IOMMU layer because it is NOT a HW device. Trying to warp mdev_device into an IOMMU presence is already the source of a lot of this hacky code.Having the mdev abstraction is way better than making the IOMMU code IOASID aware. The later requires either new parameters to existing functions or new functions. With the mdev abstraction no new functions are needed in the core API.
All that does it lock PASID to mdev which is not at all where this needs to go.
Yes, I know, We have the AUX-domain specific functions now, but I suggested a while back to turn the mdev code into its own bus implementation and let the IOMMU driver deal with whether it has an mdev or a pdev. When that is done the aux-specific functions can go away.
Yuk, no. PASID is not connected to the driver model. It is inherently wrong to suggest this. PASID is a property of a PCI device and any PCI device driver should be able to spawn PASIDs without silly restrictions. Fixing the IOMMU API is clearly needed here to get a clean PASID implementation in the kernel.
quoted
IOASID represents the IOVA address space.No, when it comes to the IOMMU-API, a domain represents an address space.
Intel is building a new uAPI and here IOASID is the word they picked to represent the IOVA address space. How it is mapped to the kernel is TBD, I guess, but domain implies both more and less than a IOASID so it isn't a 1:1 correspondence.
quoted
Two concepts that represent the same thing is not great :)Agreed, so an IOASID should be an IOMMU-domain, if its not used for passing an mm_struct to a device.
We aren't talking about mm_struct. As above a domain isn't an IOASID, it only does a few things an IOASID can do. Jason _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel