Re: [PATCH V4 05/18] iommu/ioasid: Redefine IOASID set and allocation APIs
From: Jason Gunthorpe <hidden>
Date: 2021-05-04 17:12:54
Also in:
linux-iommu, lkml
On Wed, Apr 28, 2021 at 06:58:19AM +0000, Tian, Kevin wrote:
quoted
From: Jason Gunthorpe <redacted> Sent: Wednesday, April 28, 2021 1:12 AM[...]quoted
quoted
As Alex says, if this line fails because of the group restrictions, that's not great because it's not very obvious what's gone wrong.Okay, that is fair, but let's solve that problem directly. For instance netlink has been going in the direction of adding a "extack" from the kernel which is a descriptive error string. If the failing ioctl returned the string: "cannot join this device to the IOASID because device XXX in the same group #10 is in use" Would you agree it is now obvious what has gone wrong? In fact would you agree this is a lot better user experience than what applications do today even though they have the group FD?Currently all the discussions are around implicit vs. explicit uAPI semantics on the group restriction. However if we look beyond group the implicit semantics might be inevitable when dealing with incompatible iommu domains. An existing example of iommu incompatibility is IOMMU_ CACHE.
I still think we need to get rid of these incompatibilities somehow. Having multiple HW incompatible IOASID in the same platform is just bad all around. When modeling in userspace IOMMU_CACHE sounds like it is a property of each individual IOASID, not an attribute that requires a new domain. People that want to create cache bypass IOASID's should just ask for that that directly. Jason