iommu.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFC 0/9] Possible set of VT-d optimizations
@ 2021-01-27 20:00 Chuck Lever
  2021-01-27 20:00 ` [PATCH RFC 1/9] iommu: Move iotlb_sync_map out from __iommu_map Chuck Lever
                   ` (10 more replies)
  0 siblings, 11 replies; 22+ messages in thread
From: Chuck Lever @ 2021-01-27 20:00 UTC (permalink / raw)
  To: baolu.lu; +Cc: isaacm, robin.murphy, iommu, will

Hi-

This collection of patches seems to get the best throughtput results
so far. The NFS WRITE result is fully restored, and the NFS READ
result is very close to fully restored.

	Children see throughput for 12 initial writers  = 5008474.03 kB/sec
	Parent sees throughput for 12 initial writers   = 4996927.80 kB/sec
	Min throughput per process                      = 416956.88 kB/sec 
	Max throughput per process                      = 417910.22 kB/sec
	Avg throughput per process                      = 417372.84 kB/sec
	Min xfer                                        = 1046272.00 kB
	CPU Utilization: Wall time    2.515    CPU time    1.996    CPU utilization  79.37 %


	Children see throughput for 12 rewriters        = 5020584.59 kB/sec
	Parent sees throughput for 12 rewriters         = 5012539.29 kB/sec
	Min throughput per process                      = 417799.00 kB/sec 
	Max throughput per process                      = 419082.22 kB/sec
	Avg throughput per process                      = 418382.05 kB/sec
	Min xfer                                        = 1046528.00 kB
	CPU utilization: Wall time    2.507    CPU time    2.024    CPU utilization  80.73 %


	Children see throughput for 12 readers          = 5805484.25 kB/sec
	Parent sees throughput for 12 readers           = 5799535.68 kB/sec
	Min throughput per process                      = 482888.16 kB/sec 
	Max throughput per process                      = 484444.16 kB/sec
	Avg throughput per process                      = 483790.35 kB/sec
	Min xfer                                        = 1045760.00 kB
	CPU utilization: Wall time    2.167    CPU time    1.964    CPU utilization  90.63 %


	Children see throughput for 12 re-readers       = 5812227.16 kB/sec
	Parent sees throughput for 12 re-readers        = 5803793.06 kB/sec
	Min throughput per process                      = 483242.97 kB/sec 
	Max throughput per process                      = 485724.41 kB/sec
	Avg throughput per process                      = 484352.26 kB/sec
	Min xfer                                        = 1043456.00 kB
	CPU utilization: Wall time    2.161    CPU time    1.976    CPU utilization  91.45 %

I've included a simple-minded implementation of a map_sg op for
the Intel IOMMU. This is nothing more than a copy of the loop in
__iommu_map_sg() with the call to __iommu_map() replaced with a
call to intel_iommu_map().

---

Chuck Lever (1):
      iommu/vt-d: Introduce map_sg() for Intel IOMMUs

Isaac J. Manjarres (5):
      iommu/io-pgtable: Introduce map_sg() as a page table op
      iommu/io-pgtable-arm: Hook up map_sg()
      iommu/io-pgtable-arm-v7s: Hook up map_sg()
      iommu: Introduce map_sg() as an IOMMU op for IOMMU drivers
      iommu/arm-smmu: Hook up map_sg()

Lu Baolu (1):
      iommu/vt-d: Add iotlb_sync_map callback

Yong Wu (2):
      iommu: Move iotlb_sync_map out from __iommu_map
      iommu: Add iova and size as parameters in iotlb_sync_map


 drivers/iommu/arm/arm-smmu/arm-smmu.c |  19 ++++
 drivers/iommu/intel/iommu.c           | 131 ++++++++++++++++++++------
 drivers/iommu/io-pgtable-arm-v7s.c    |  90 ++++++++++++++++++
 drivers/iommu/io-pgtable-arm.c        |  86 +++++++++++++++++
 drivers/iommu/iommu.c                 |  47 +++++++--
 drivers/iommu/tegra-gart.c            |   7 +-
 include/linux/iommu.h                 |  16 +++-
 7 files changed, 353 insertions(+), 43 deletions(-)

--
Chuck Lever

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

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

end of thread, other threads:[~2021-02-01 18:09 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-27 20:00 [PATCH RFC 0/9] Possible set of VT-d optimizations Chuck Lever
2021-01-27 20:00 ` [PATCH RFC 1/9] iommu: Move iotlb_sync_map out from __iommu_map Chuck Lever
2021-01-28  2:40   ` Lu Baolu
2021-01-27 20:00 ` [PATCH RFC 2/9] iommu: Add iova and size as parameters in iotlb_sync_map Chuck Lever
2021-01-28  2:44   ` Lu Baolu
2021-01-28 12:51   ` Joerg Roedel
2021-01-28 13:19     ` Will Deacon
2021-01-28 13:26       ` Joerg Roedel
2021-01-27 20:00 ` [PATCH RFC 3/9] iommu/vt-d: Add iotlb_sync_map callback Chuck Lever
2021-01-27 20:00 ` [PATCH RFC 4/9] iommu/io-pgtable: Introduce map_sg() as a page table op Chuck Lever
2021-01-27 20:00 ` [PATCH RFC 5/9] iommu/io-pgtable-arm: Hook up map_sg() Chuck Lever
2021-01-28 13:53   ` Will Deacon
2021-01-27 20:01 ` [PATCH RFC 6/9] iommu/io-pgtable-arm-v7s: " Chuck Lever
2021-01-27 20:01 ` [PATCH RFC 7/9] iommu: Introduce map_sg() as an IOMMU op for IOMMU drivers Chuck Lever
2021-01-28  2:58   ` Lu Baolu
2021-01-27 20:01 ` [PATCH RFC 8/9] iommu/arm-smmu: Hook up map_sg() Chuck Lever
2021-01-27 20:01 ` [PATCH RFC 9/9] iommu/vt-d: Introduce map_sg() for Intel IOMMUs Chuck Lever
2021-01-28  2:28 ` [PATCH RFC 0/9] Possible set of VT-d optimizations Lu Baolu
2021-01-28 13:59 ` Robin Murphy
2021-01-28 14:52   ` Chuck Lever
2021-01-29 11:54     ` Lu Baolu
2021-02-01 18:08     ` Chuck Lever

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).