Messages in this thread | | | Date | Wed, 9 Aug 2023 09:35:02 -0300 | From | Jason Gunthorpe <> | Subject | Re: [PATCH 2/5] iommu: Call helper function to get assigned pasid value |
| |
On Wed, Aug 09, 2023 at 09:49:16AM +0000, Tian, Kevin wrote: > > From: Baolu Lu <baolu.lu@linux.intel.com> > > Sent: Wednesday, August 9, 2023 8:22 AM > > > > On 2023/8/8 15:49, Tina Zhang wrote: > > > Use the helper function mm_get_pasid() to get the mm assigned pasid > > > value. > > > > For internal iommu drivers, perhaps we should use another helper. > > Something like sva_domain_get_pasid()? > > > > Suppose that the iommu drivers should have no idea about the "mm". > > > > Aren't all touched functions accept a struct mm_struct pointer?
It is wrong for the driver to even ask this question.
Domains, regardless of what they are, get attached to PASIDs. Maybe many PASIDs, driver doesn't get to care. SVA isn't special. Stop making it special.
The driver should rely on there being exactly one iommu_domain for SVA per mm so it can hang the mm_notifier off the iommu_domain
But otherwise invalidation for a SVA domain should be *exactly the same flow* as invalidation for a paging domain. It iterates over the attachments and generates the correct list of PASIDs and ATCs.
Jason
| |