From: Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
To: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
Alex Williamson
<alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: [PATCH 0/4] iommu/amd, vfio: Reduce IOTLB Flushm Rate
Date: Fri, 13 Oct 2017 16:40:09 +0200 [thread overview]
Message-ID: <1507905613-30695-1-git-send-email-joro@8bytes.org> (raw)
Hi,
these patches implement the new IOTLB flush interface in the
AMD IOMMU driver. But for it to take effect, changes in VFIO
are also necessary, because VFIO unpins the pages after
every successful iommu_unmap() call. This requires an IOTLB
flush, so that we don't save flushes.
So I implemented vfio-gather code to collect up to 32 ranges
before they are unpinned together. This significantly
reduces the number of necessary IOTLB flushes in my tests.
Please review.
Thanks,
Joerg
Joerg Roedel (4):
iommu/amd: Finish TLB flush in amd_iommu_unmap()
iommu/amd: Implement IOMMU-API TLB flush interface
vfio/type1: Make use of iommu_unmap_fast()
vfio/type1: Gather TLB-syncs and pages to unpin
drivers/iommu/amd_iommu.c | 12 +++-
drivers/vfio/vfio_iommu_type1.c | 128 ++++++++++++++++++++++++++++++++++++----
2 files changed, 128 insertions(+), 12 deletions(-)
--
2.7.4
next reply other threads:[~2017-10-13 14:40 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-13 14:40 Joerg Roedel [this message]
[not found] ` <1507905613-30695-1-git-send-email-joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2017-10-13 14:40 ` [PATCH 1/4] iommu/amd: Finish TLB flush in amd_iommu_unmap() Joerg Roedel
2017-10-13 14:40 ` [PATCH 2/4] iommu/amd: Implement IOMMU-API TLB flush interface Joerg Roedel
2017-10-13 14:40 ` [PATCH 4/4] vfio/type1: Gather TLB-syncs and pages to unpin Joerg Roedel
2017-10-13 17:02 ` Alex Williamson
2017-10-13 14:40 ` [PATCH 3/4] vfio/type1: Make use of iommu_unmap_fast() Joerg Roedel
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=1507905613-30695-1-git-send-email-joro@8bytes.org \
--to=joro-zlv9swrftaidnm+yrofe0a@public.gmane.org \
--cc=alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.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).