Messages in this thread | | | From | Michael Shavit <> | Date | Fri, 14 Jul 2023 17:30:42 +0800 | Subject | Re: [PATCH v4 07/13] iommu/arm-smmu-v3: Keep track of attached ssids |
| |
> And I don't quite get this part. Prior to this change, it issues > one ATC_INV command covering all ATC entries per comments inside > arm_smmu_atc_inv_to_cmd(). But now we replace that single command > with all attached subdomains in the list? Any reason for such a > change here?
Because we don't necessarily want to invalidate all PASID-domains attached to a master. If arm_smmu_atc_inv_domain() is called on a domain that is only attached with Pasid, we can restrict the invalidations to those specific PASID by looping over them. But yeah, you're right that we could potentially optimize this? * Skip the per-pasid invalidations if the domain is also attached to this master without PASID as we have to invalidate all its pasids in that case anyways. It's hard to imagine clients attaching a domain both with pasid and without pasid to the same device but could be possible. * Always invalidate all pasids by issuing atc invalidations on SSID 0. This sounds like the wrong trade-off??
| |