qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jason Wang <jasowang@redhat.com>
To: Peter Xu <peterx@redhat.com>
Cc: qemu-devel <qemu-devel@nongnu.org>, mst <mst@redhat.com>
Subject: Re: [PATCH] intel_iommu: support snoop control
Date: Mon, 14 Feb 2022 14:35:18 +0800	[thread overview]
Message-ID: <CACGkMEvr+EDokjH6b3kMac-Zf_n+6KY5+L105Gh4QLquWZUX+Q@mail.gmail.com> (raw)
In-Reply-To: <Ygn3I3T2DH3SHFXj@xz-m1.local>

On Mon, Feb 14, 2022 at 2:31 PM Peter Xu <peterx@redhat.com> wrote:
>
> On Mon, Feb 14, 2022 at 02:03:46PM +0800, Jason Wang wrote:
> > SC is required for some kernel features like vhost-vDPA. So this patch
> > implements basic SC feature. The idea is pretty simple, for software
> > emulated DMA it would be always coherent. In this case we can simple
> > advertise ECAP_SC bit. For VFIO and vhost, thing will be more much
> > complicated, so this patch simply fail the IOMMU notifier
> > registration.
>
> Could we spell out which vhost branch won't work?

For vhost, it should work but the problem is that we need to introduce
more logics to demonstrate the notifier ability (e.g a dedicated
notifier flag for cc).

> How about also mention what
> this patch is used for (perhaps for some pure vdpa tests on fully emulated)?

That's fine, the main use case so far is to test vDPA in L1 guest.

>
> >
> > In the future, we may want to have a dedicated notifiers flag or
> > similar mechanism to demonstrate the coherency so VFIO could advertise
> > that if it has VFIO_DMA_CC_IOMMU, for vhost kernel backend we don't
> > need that since it's a software backend.
> >
> > Signed-off-by: Jason Wang <jasowang@redhat.com>
> > ---
> >  hw/i386/intel_iommu.c          | 14 +++++++++++++-
> >  hw/i386/intel_iommu_internal.h |  1 +
> >  include/hw/i386/intel_iommu.h  |  1 +
> >  3 files changed, 15 insertions(+), 1 deletion(-)
> >
> > diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
> > index 5b865ac08c..5fa8e361b8 100644
> > --- a/hw/i386/intel_iommu.c
> > +++ b/hw/i386/intel_iommu.c
> > @@ -3022,6 +3022,13 @@ static int vtd_iommu_notify_flag_changed(IOMMUMemoryRegion *iommu,
> >      VTDAddressSpace *vtd_as = container_of(iommu, VTDAddressSpace, iommu);
> >      IntelIOMMUState *s = vtd_as->iommu_state;
> >
> > +    /* TODO: add support for VFIO and vhost users */
> > +    if (s->snoop_control) {
> > +        error_setg_errno(errp, -ENOTSUP,
> > +                         "Snoop Control with vhost or VFIO is not supported");
> > +        return -ENOTSUP;
> > +    }
>
> IIUC this will also fail things like e.g. vhost-kernel but afaiu that can be
> fully emulated too.  That's expected, am I right?

Yes, I try to make the patch as simple as possible, so VFIO or any
kind of vhost won't work.

Thanks

>
> Thanks,
>
> > +
> >      /* Update per-address-space notifier flags */
> >      vtd_as->notifier_flags = new;
>
> --
> Peter Xu
>



  reply	other threads:[~2022-02-14  6:37 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-14  6:03 [PATCH] intel_iommu: support snoop control Jason Wang
2022-02-14  6:30 ` Peter Xu
2022-02-14  6:35   ` Jason Wang [this message]
2022-02-14  6:39     ` Peter Xu
2022-02-14  6:40     ` Jason Wang
2022-02-14  7:04       ` Peter Xu
2022-02-14  7:12         ` 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=CACGkMEvr+EDokjH6b3kMac-Zf_n+6KY5+L105Gh4QLquWZUX+Q@mail.gmail.com \
    --to=jasowang@redhat.com \
    --cc=mst@redhat.com \
    --cc=peterx@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).