All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Implement [map/unmap]_pages callbacks for ARM SMMUV3
@ 2021-07-31  2:17 chenxiang
  2021-07-31  2:17 ` [PATCH 1/2] iommu/arm-smmu-v3: Implement the unmap_pages() IOMMU driver callback chenxiang
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: chenxiang @ 2021-07-31  2:17 UTC (permalink / raw)
  To: robin.murphy, will, joro; +Cc: iommu, linuxarm

From: Xiang Chen <chenxiang66@hisilicon.com>

The series ("Optimizing iommu_[map/unmap] performance") improve the
iommu_[map/unmap] performance. Based on the series, implement [map/unmap]_pages
callbacks for ARM SMMUV3.
Use tool dma_map_benchmark to test the latency of map/unmap, and it promotes
much on it. The test result is as follows:
t = 1(thread = 1):
                   before opt(us)   after opt(us)
g=1(4K size)        0.1/1.3          0.1/0.8
g=2(8K size)        0.2/1.5          0.2/0.9
g=4(16K size)       0.3/1.9          0.1/1.1
g=8(32K size)       0.5/2.7          0.2/1.4
g=16(64K size)      1.0/4.5          0.2/2.0
g=32(128K size)     1.8/7.9          0.2/3.3
g=64(256K size)     3.7/14.8         0.4/6.1
g=128(512K size)    7.1/14.7         0.5/10.4
g=256(1M size)      14.0/53.9        0.8/19.3
g=512(2M size)      0.2/0.9          0.2/0.9
g=1024(4M size)     0.5/1.5          0.4/1.0

t = 10(thread = 10):
                   before opt(us)   after opt(us)
g=1(4K size)        0.3/7.0          0.1/5.8
g=2(8K size)        0.4/6.7          0.3/6.0
g=4(16K size)       0.5/6.3          0.3/5.6
g=8(32K size)       0.5/8.3          0.2/6.3
g=16(64K size)      1.0/17.3         0.3/12.4
g=32(128K size)     1.8/36.0         0.2/24.2
g=64(256K size)     4.3/67.2         1.2/46.4
g=128(512K size)    7.8/93.7         1.3/94.2
g=256(1M size)      14.7/280.8       1.8/191.5
g=512(2M size)      3.6/3.2          1.5/2.5
g=1024(4M size)     2.0/3.1          1.8/2.6 

Xiang Chen (2):
  iommu/arm-smmu-v3: Implement the unmap_pages() IOMMU driver callback
  iommu/arm-smmu-v3: Implement the map_pages() IOMMU driver callback

 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

-- 
2.8.1

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-08-02 14:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-31  2:17 [PATCH 0/2] Implement [map/unmap]_pages callbacks for ARM SMMUV3 chenxiang
2021-07-31  2:17 ` [PATCH 1/2] iommu/arm-smmu-v3: Implement the unmap_pages() IOMMU driver callback chenxiang
2021-07-31  2:17 ` [PATCH 2/2] iommu/arm-smmu-v3: Implement the map_pages() " chenxiang
2021-08-02 14:43 ` [PATCH 0/2] Implement [map/unmap]_pages callbacks for ARM SMMUV3 Will Deacon
2021-08-02 14:56   ` Joerg Roedel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.