[PATCH v13 0/8] iommu/arm-smmu-v3: Introduce an RCU-protected invalidation array

Will Deacon will at kernel.org
Thu Mar 19 09:26:09 PDT 2026


On Tue, 17 Mar 2026 00:59:15 -0700, Nicolin Chen wrote:
> This is a work based on Jason's design and algorithm. This implementation
> follows his initial draft and revising as well.
> 
> The new arm_smmu_invs array is an RCU-protected array, mutated when device
> attach to the domain, iterated when an invalidation is required for IOPTE
> changes in this domain. This keeps the current invalidation efficiency of
> a smb_mb() followed by a conditional rwlock replacing the atomic/spinlock
> combination.
> 
> [...]

Applied to iommu (arm/smmu/updates), thanks!

[1/8] iommu/arm-smmu-v3: Add a missing dma_wmb() for hitless STE update
      https://git.kernel.org/iommu/c/6fabce53f6b9
[2/8] iommu/arm-smmu-v3: Explicitly set smmu_domain->stage for SVA
      https://git.kernel.org/iommu/c/9b056856880a
[3/8] iommu/arm-smmu-v3: Add an inline arm_smmu_domain_free()
      https://git.kernel.org/iommu/c/c317452f5a22
[4/8] iommu/arm-smmu-v3: Introduce a per-domain arm_smmu_invs array
      https://git.kernel.org/iommu/c/15a2a5645ad7
[5/8] iommu/arm-smmu-v3: Pre-allocate a per-master invalidation array
      https://git.kernel.org/iommu/c/e3a56b37bf75
[6/8] iommu/arm-smmu-v3: Populate smmu_domain->invs when attaching masters
      https://git.kernel.org/iommu/c/b77429757e45
[7/8] iommu/arm-smmu-v3: Add arm_smmu_invs based arm_smmu_domain_inv_range()
      https://git.kernel.org/iommu/c/587bb3e56a2c
[8/8] iommu/arm-smmu-v3: Perform per-domain invalidations using arm_smmu_invs
      https://git.kernel.org/iommu/c/4202fddd01c7

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev



More information about the linux-arm-kernel mailing list