[RFC PATCH 3/3] iommu/arm-smmu-v3: Add support for hitless replace of S1 domains
Jason Gunthorpe
jgg at ziepe.ca
Fri Oct 23 06:49:00 PDT 2026
On Fri, Oct 23, 2026 at 02:43:28PM +0100, Robin Murphy wrote:
> > @@ -3664,8 +3726,8 @@ static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev,
> > struct arm_smmu_cd target_cd;
> > arm_smmu_make_s1_cd(&target_cd, master, smmu_domain);
> > - arm_smmu_write_cd_entry(master, IOMMU_NO_PASID, cdptr,
> > - &target_cd);
> > + arm_smmu_replace_cd_entry(master, IOMMU_NO_PASID, cdptr,
> > + &target_cd);
>
> No, we cannot blindly do this for arbitrary ->attach_dev calls - the
> majority of S1->S1 transitions are going to be moving back and forth between
> the default domain and user domains, where there is zero expectation, let
> alone guarantee, that the translations would be equivalent and thus not
> liable to lead to TLB conflict aborts or amalgamation hell.
Heh, yeah this probably only works properly with BBML2 or something so
the temporary ASID doesn't explode.
Jason
More information about the linux-arm-kernel
mailing list