From: Chuck Lever <chuck.lever@oracle.com>
To: baolu.lu@linux.intel.com
Cc: isaacm@codeaurora.org, robin.murphy@arm.com,
iommu@lists.linux-foundation.org, will@kernel.org
Subject: [PATCH RFC 0/9] Possible set of VT-d optimizations
Date: Wed, 27 Jan 2021 15:00:19 -0500 [thread overview]
Message-ID: <161177711359.1311.417185373365934204.stgit@manet.1015granger.net> (raw)
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
next reply other threads:[~2021-01-27 20:00 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-27 20:00 Chuck Lever [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=161177711359.1311.417185373365934204.stgit@manet.1015granger.net \
--to=chuck.lever@oracle.com \
--cc=baolu.lu@linux.intel.com \
--cc=iommu@lists.linux-foundation.org \
--cc=isaacm@codeaurora.org \
--cc=robin.murphy@arm.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).