Messages in this thread | | | Date | Tue, 5 Sep 2023 09:35:28 -0300 | From | Jason Gunthorpe <> | Subject | Re: [PATCH v1 0/3] Clean-up arm-smmu-v3-sva.c: remove arm_smmu_bond |
| |
On Tue, Sep 05, 2023 at 07:49:11PM +0800, Michael Shavit wrote: > > This small series was originally part of a larger effort to support > set_dev_pasid in arm-smmu-v3.c and a related SVA refactoring. But it can > also stand on its own as an initial and prepatory clean-up. > > The crux of this series relies on the observation that SVA won't > allocate multiple SVA domains for the same device and mm pair.
Yes, I think that is true, certainly no-intree user of this stuff wants to do that.
It is enforced to be true after Tina's series:
https://lore.kernel.org/r/20230905000930.24515-1-tina.zhang@intel.com
Which makes one SVA domain per mm.
> There's therefore no reason for the driver to try to normalize data > allocated for a device/mm pair across set_dev_pasid calls.
Indeed, this is where we are trying to get to. This de-duplication code in every driver is quite horrible.
> Note that arm-smmu-v3-sva performs a second level of normalization by > mapping multiple bonds (now SVA domains) attached to devices with the > same SMMU (if those devices have the same RID domain attached) to a > single arm_smmu_mmu_notifier. This is not affected by these patches.
Ultimately the notifier should be per-iommu_domain as well.
Thanks, Jason
| |