From: Peter Xu <peterx@redhat.com>
To: Jason Wang <jasowang@redhat.com>
Cc: qemu-devel@nongnu.org, tianyu.lan@intel.com,
kevin.tian@intel.com, mst@redhat.com, jan.kiszka@siemens.com,
alex.williamson@redhat.com, bd.aviv@gmail.com,
david@gibson.dropbear.id.au
Subject: Re: [Qemu-devel] [PATCH v3] intel_iommu: allow dynamic switch of IOMMU region
Date: Thu, 22 Dec 2016 19:04:12 +0800 [thread overview]
Message-ID: <20161222110412.GB26435@pxdev.xzpeter.org> (raw)
In-Reply-To: <b2b1424c-1bd0-00ea-8d14-f935b8901629@redhat.com>
On Thu, Dec 22, 2016 at 05:52:58PM +0800, Jason Wang wrote:
>
>
> On 2016年12月22日 17:48, Peter Xu wrote:
> > /* Handle Translation Enable/Disable */
> > static void vtd_handle_gcmd_te(IntelIOMMUState *s, bool en)
> > {
> >+ if (s->dmar_enabled == en) {
> >+ return;
> >+ }
> >+
> > VTD_DPRINTF(CSR, "Translation Enable %s", (en ? "on" : "off"));
> > if (en) {
> >@@ -1196,6 +1237,8 @@ static void vtd_handle_gcmd_te(IntelIOMMUState *s, bool en)
> > /* Ok - report back to driver */
> > vtd_set_clear_mask_long(s, DMAR_GSTS_REG, VTD_GSTS_TES, 0);
> > }
> >+
> >+ vtd_switch_address_space_all(s, en);
> > }
>
> We may need something like notifier here to tell e.g vhost to stop device
> IOTLB. (Since it's likely this series were applied after device IOTLB
> patches)
Yes, I missed vhost case.
To notify vhost, IMO we should be able to use memory listeners just
like how vfio devices do (please refer to vfio_memory_listener).
However, I think the bigger issue is we still don't have a dynamic way
to turn vhost DMAR on/off, right?
If so, we may need to re-touch all the parts to enable the dynamic
switching of DMA remapping - QEMU vhost, kernel vhost, and virtio on
the guest side... I start to doubt whether that effort will worth it
due to this single change, especially if this feature (dynamic on/off
DMA remapping) won't be used by most VMs (i.e., Linux should only turn
VT-d on when kernel detects it, and should never turn it off in
anyway).
(However I do think this is an improvement to current VT-d though)
Thanks,
-- peterx
next prev parent reply other threads:[~2016-12-22 11:04 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-22 9:48 [Qemu-devel] [PATCH v3] intel_iommu: allow dynamic switch of IOMMU region Peter Xu
2016-12-22 9:52 ` Jason Wang
2016-12-22 11:04 ` Peter Xu [this message]
2016-12-22 11:34 ` Jason Wang
2016-12-23 3:26 ` Peter Xu
2016-12-26 2:45 ` Jason Wang
2017-01-03 21:20 ` Alex Williamson
2017-01-05 4:36 ` Tian, Kevin
2017-01-05 3:30 ` Tian, Kevin
2017-01-05 3:52 ` Peter Xu
2017-01-05 4:15 ` Tian, Kevin
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=20161222110412.GB26435@pxdev.xzpeter.org \
--to=peterx@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=bd.aviv@gmail.com \
--cc=david@gibson.dropbear.id.au \
--cc=jan.kiszka@siemens.com \
--cc=jasowang@redhat.com \
--cc=kevin.tian@intel.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=tianyu.lan@intel.com \
/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 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.