From: Peter Xu <peterx@redhat.com>
To: Jason Wang <jasowang@redhat.com>
Cc: qemu-devel@nongnu.org, "Michael S . Tsirkin" <mst@redhat.com>,
Eric Auger <eric.auger@redhat.com>,
Alex Williamson <alex.williamson@redhat.com>,
Alexander Witte <alexander.witte@baicanada.com>,
Jintack Lim <jintack@cs.columbia.edu>
Subject: Re: [Qemu-devel] [PATCH] intel-iommu: send PSI always when notify_unmap set
Date: Fri, 20 Apr 2018 13:11:06 +0800 [thread overview]
Message-ID: <20180420051106.GC873@xz-mi> (raw)
In-Reply-To: <d550eb50-c9e3-838a-ac9a-4a998375572b@redhat.com>
On Fri, Apr 20, 2018 at 12:57:13PM +0800, Jason Wang wrote:
>
>
> On 2018年04月18日 12:51, Peter Xu wrote:
> > During IOVA page table walk, there is a special case when:
> >
> > - notify_unmap is set, meanwhile
> > - entry is invalid
> >
> > In the past, we skip the entry always. This is not correct. We should
> > send UNMAP notification to registered notifiers in this case. Otherwise
> > some stall pages will still be mapped in the host even if L1 guest
>
> You mean 'stale' here?
Ah, yes.
>
> > unmapped them already.
>
> It looks like some IOTLB invalidation were missed? If not, the page should
> be unmaped during invalidation.
I'm afraid it's not the same problem, and that's why I think we need
two fixes.
Even if the guest sends the correct invalidations, it's still possible
that QEMU skips the PSI with current code.
>
> >
> > Without this patch, nested device assignment to L2 guests might dump
> > some errors like:
> >
> > qemu-system-x86_64: VFIO_MAP_DMA: -17
> > qemu-system-x86_64: vfio_dma_map(0x557305420c30, 0xad000, 0x1000,
> > 0x7f89a920d000) = -17 (File exists)
> >
> > To fix this, we need to apply this patch to L1 QEMU (L2 QEMU is not
> > affected by this problem).
> >
> > Signed-off-by: Peter Xu <peterx@redhat.com>
> > ---
> >
> > To test nested assignment, one also needs to apply below patchset:
> > https://lkml.org/lkml/2018/4/18/5
>
> Have a quick glance at it, looks like there's no need for this patch is we
> had that kernel patch applied.
Even if guest kernel applies above fix, QEMU might still drop some of
the PSIs. Above error messages were captured with kernel patches
applied already (otherwise we see no error messages, we directly miss
them from guest).
Thanks,
--
Peter Xu
next prev parent reply other threads:[~2018-04-20 5:11 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-18 4:51 [Qemu-devel] [PATCH] intel-iommu: send PSI always when notify_unmap set Peter Xu
2018-04-18 5:28 ` Peter Xu
2018-04-18 5:29 ` Liu, Yi L
2018-04-18 6:26 ` Peter Xu
2018-04-20 4:57 ` Jason Wang
2018-04-20 5:11 ` Peter Xu [this message]
2018-04-20 8:29 ` Jason Wang
2018-04-20 8:30 ` Jason Wang
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=20180420051106.GC873@xz-mi \
--to=peterx@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=alexander.witte@baicanada.com \
--cc=eric.auger@redhat.com \
--cc=jasowang@redhat.com \
--cc=jintack@cs.columbia.edu \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.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).