Messages in this thread | | | From | "Tian, Kevin" <> | Subject | RE: [PATCH RFC v2 02/11] iommu: Add iommu_group_singleton_lockdown() | Date | Wed, 30 Mar 2022 14:12:57 +0000 |
| |
> From: Jason Gunthorpe > Sent: Wednesday, March 30, 2022 7:58 PM > > On Wed, Mar 30, 2022 at 06:50:11AM +0000, Tian, Kevin wrote: > > > One thing that I'm not very sure is about DMA alias. Even when physically > > there is only a single device within the group the aliasing could lead > > to multiple RIDs in the group making it non-singleton. But probably we > > don't need support SVA on such device until a real demand comes? > > How can we have multiple RIDs in the same group and have only one > device in the group?
Alex may help throw some insight here. Per what I read from the code looks like certain device can generate traffic with multiple RIDs.
> > > > ie if we have a singleton group that doesn't have ACS and someone > > > hotplugs in another device on a bridge, then our SVA is completely > > > broken and we get data corruption. > > > > Can we capture that in iommu_probe_device() when identifying > > the group which the probed device will be added to has already been > > locked down for SVA? i.e. make iommu_group_singleton_lockdown() > > in this patch to lock down the fact of singleton group instead of > > the fact of singleton driver... > > No, that is backwards > > > > 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. >
OK, I see your point. It essentially refers to a singleton group which is immutable to hotplug.
Thanks Kevin
| |