On Tue, Apr 05, 2022 at 02:12:42PM +0800, Lu Baolu wrote: > On 2022/4/5 1:24, Jason Gunthorpe wrote: > > On Mon, Apr 04, 2022 at 01:43:49PM +0800, Lu Baolu wrote: > > > On 2022/3/30 19:58, Jason Gunthorpe wrote: > > > > > > Testing the group size is inherently the wrong test to make. > > > > > What is your suggestion then? > > > > Add a flag to the group that positively indicates the group can never > > > > have more than one member, even after hot plug. eg because it is > > > > impossible due to ACS, or lack of bridges, and so on. > > > > > > The check method seems to be bus specific. For platform devices, perhaps > > > this kind of information should be retrieved from firmware interfaces > > > like APCI or DT. > > > > > > From this point of view, would it be simpler and more reasonable for the > > > device driver to do such check? After all, it is the device driver that > > > decides whether to provide SVA services to the application via uacce. > > > > The check has to do with the interconnect, not the device - I don't > > see how a device driver would know any better. > > I'm worried about how to support this group flag for devices that are > not connected to the system through PCI buses. If IOMMU can support > sva_bind() only when this flag is set, the SVA on many devices cannot > be supported. Or this flag is always set for non PCI devices by > default?
IHMO it is not so different from how we determine if ACS like functionality is supported on non-PCI. It is really just a more narrow application of the existing ACS idea. For instance it may be that if the iommu_group came from DT we can assume it is static and then singleton can know ACS is reliable. Jason _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu