From: Peter Xu <peterx-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Linux IOMMU Mailing List
<iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
Linux Kernel Mailing List
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Cc: Alexander Witte
<alexander.witte-eh6l0D9wmvKB+jHODAdFcQ@public.gmane.org>,
David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
Jintack Lim <jintack-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
Subject: [PATCH v2 0/3] intel-iommu: fix mapping PSI missing for iommu_map()
Date: Wed, 18 Apr 2018 16:39:50 +0800 [thread overview]
Message-ID: <20180418083953.21492-1-peterx@redhat.com> (raw)
v2:
- cc correct people and iommu list
(PSI stands for: Page Selective Invalidations)
Intel IOMMU has the caching mode to ease emulation of the device.
When that bit is set, we need to send PSIs even for newly mapped
pages. However current driver is not fully obey the rule. E.g.,
iommu_map() API will only do the mapping but it never sent the PSIs
before. That can be problematic to emulated IOMMU devices since
they'll never be able to build up the shadow page tables if without
such information. This patchset tries to fix the problem.
Patch 1 is a tracing enhancement that helped me to triage the problem.
It might even be useful in the future.
Patch 2 generalized a helper to notify the MAP PSIs.
Patch 3 fixes the real problem by making sure every domain mapping
will trigger the MAP PSI notifications.
Without the patchset, nested device assignment (assign one device
firstly to L1 guest, then to L2 guest) won't work for QEMU. After
applying the patchset, it works.
Please review. Thanks.
Peter Xu (3):
intel-iommu: add some traces for PSIs
intel-iommu: generalize __mapping_notify_one()
intel-iommu: fix iotlb psi missing for mappings
drivers/iommu/dmar.c | 3 ++
drivers/iommu/intel-iommu.c | 68 ++++++++++++++++++++++++++++++++-------------
2 files changed, 52 insertions(+), 19 deletions(-)
--
2.14.3
next reply other threads:[~2018-04-18 8:39 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-18 8:39 Peter Xu [this message]
[not found] ` <20180418083953.21492-1-peterx-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-04-18 8:39 ` [PATCH v2 1/3] intel-iommu: add some traces for PSIs Peter Xu
2018-04-18 8:39 ` [PATCH v2 2/3] intel-iommu: generalize __mapping_notify_one() Peter Xu
2018-05-03 13:14 ` Joerg Roedel
[not found] ` <20180503131424.jsn4qvfuwur7adcb-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2018-05-04 2:23 ` Peter Xu
2018-04-18 8:39 ` [PATCH v2 3/3] intel-iommu: fix iotlb psi missing for mappings Peter Xu
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=20180418083953.21492-1-peterx@redhat.com \
--to=peterx-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
--cc=alexander.witte-eh6l0D9wmvKB+jHODAdFcQ@public.gmane.org \
--cc=dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=jintack-eQaUEPhvms7ENvBUuze7eA@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