iommu/arm-smmu-v3: Defer TLB invalidation until ->iotlb_sync()
authorWill Deacon <will@kernel.org>
Tue, 2 Jul 2019 16:16:33 +0000 (17:16 +0100)
committerWill Deacon <will@kernel.org>
Thu, 8 Aug 2019 12:31:54 +0000 (13:31 +0100)
commit2af2e72b18b499fa36d3f7379fd010ff25d2a984
treea3b5776b01e93bc97408e92058cc9da5baed4af4
parent587e6c10a7ce89a5924fdbeff2ec524fbd6a124b
iommu/arm-smmu-v3: Defer TLB invalidation until ->iotlb_sync()

Update the iommu_iotlb_gather structure passed to ->tlb_add_page() and
use this information to defer all TLB invalidation until ->iotlb_sync().
This drastically reduces contention on the command queue, since we can
insert our commands in batches rather than one-by-one.

Tested-by: Ganapatrao Kulkarni <gkulkarni@marvell.com>
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/arm-smmu-v3.c