virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Cc: virtualization <virtualization@lists.linux-foundation.org>
Subject: Re: [PATCH v1 0/6] virtio: support advance DMA
Date: Fri, 18 Feb 2022 04:24:58 -0500	[thread overview]
Message-ID: <20220218041948-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <1645174523.8877885-1-xuanzhuo@linux.alibaba.com>

On Fri, Feb 18, 2022 at 04:55:23PM +0800, Xuan Zhuo wrote:
> On Thu, 17 Feb 2022 15:19:44 +0800, Jason Wang <jasowang@redhat.com> wrote:
> > On Thu, Feb 10, 2022 at 4:51 PM Xuan Zhuo <xuanzhuo@linux.alibaba.com> wrote:
> > >
> > > virtqueue_add() only supports virtual addresses, dma is completed in
> > > virtqueue_add().
> > >
> > > In some scenarios (such as the AF_XDP scenario), DMA is completed in advance, so
> > > it is necessary for us to support passing the DMA address to virtqueue_add().
> >
> > I'd suggest rename this feature as "unmanaged DMA".
> 
> OK

IIUC when you say "dma is completed" you really mean "memory is mapped
for dma". What is special is that virtio suddenly gets s/g that is
already mapped for DMA, not in the way DMA (direct memory access) itself
happens. right? Pls document as such.
And this is why I'd call this flag "mapped" or "premapped", not
"predma". "unmanaged" is also ok, though it's a bit vague wrt what
exactly is managed.
I'll defer to Jason on this.  Jason what do you prefer?

> >
> > >
> > > Record this predma information in extra->flags, which can be skipped when
> > > executing dma unmap.
> >
> > Question still, can we use per-virtqueue flag instead of per
> > descriptor flag? If my memory is correct, the answer is yes in the
> > discussion for the previous version.
> >
> 
> Yes.
> 
> per-virtqueue? I guess it should be per-submit.
> 
> This patch set only adds a flag to desc_extra[head].flags, so that we can know
> if we need to unmap dma when we detach.
> 
> Thanks.
> 
> > Thanks
> >
> > >
> > > v1:
> > >    1. All sgs requested at one time are required to be unified PREDMA, and several
> > >       of them are not supported to be PREDMA
> > >    2. virtio_dma_map() is removed from this patch set and will be submitted
> > >       together with the next time AF_XDP supports virtio dma
> > >    3. Added patch #2 #3 to remove the check for flags when performing unmap
> > >       indirect desc
> > >
> > > Xuan Zhuo (6):
> > >   virtio: rename vring_unmap_state_packed() to
> > >     vring_unmap_extra_packed()
> > >   virtio: remove flags check for unmap split indirect desc
> > >   virtio: remove flags check for unmap packed indirect desc
> > >   virtio: virtqueue_add() support predma
> > >   virtio: split: virtqueue_add_split() support dma address
> > >   virtio: packed: virtqueue_add_packed() support dma address
> > >
> > >  drivers/virtio/virtio_ring.c | 199 ++++++++++++++++++++++-------------
> > >  1 file changed, 126 insertions(+), 73 deletions(-)
> > >
> > > --
> > > 2.31.0
> > >
> >

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

  reply	other threads:[~2022-02-18  9:25 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-10  8:51 [PATCH v1 0/6] virtio: support advance DMA Xuan Zhuo
2022-02-10  8:51 ` [PATCH v1 1/6] virtio: rename vring_unmap_state_packed() to vring_unmap_extra_packed() Xuan Zhuo
2022-02-23  2:41   ` Jason Wang
2022-02-10  8:51 ` [PATCH v1 2/6] virtio: remove flags check for unmap split indirect desc Xuan Zhuo
2022-02-23  2:42   ` Jason Wang
2022-02-10  8:51 ` [PATCH v1 3/6] virtio: remove flags check for unmap packed " Xuan Zhuo
2022-02-23  2:53   ` Jason Wang
2022-02-23  8:30     ` Xuan Zhuo
2022-02-10  8:51 ` [PATCH v1 4/6] virtio: virtqueue_add() support predma Xuan Zhuo
2022-02-23  3:00   ` Jason Wang
2022-02-23  3:02     ` Jason Wang
2022-02-10  8:51 ` [PATCH v1 5/6] virtio: split: virtqueue_add_split() support dma address Xuan Zhuo
2022-02-23  3:38   ` Jason Wang
2022-02-10  8:51 ` [PATCH v1 6/6] virtio: packed: virtqueue_add_packed() " Xuan Zhuo
2022-02-23  3:43   ` Jason Wang
2022-02-17  7:19 ` [PATCH v1 0/6] virtio: support advance DMA Jason Wang
2022-02-18  8:55   ` Xuan Zhuo
2022-02-18  9:24     ` Michael S. Tsirkin [this message]
2022-02-18  9:29       ` Xuan Zhuo
2022-02-21  1:36       ` Jason Wang
2022-02-21  3:32     ` Jason Wang
2022-02-21  3:39       ` Xuan Zhuo
2022-02-21  3:53         ` Jason Wang
2022-02-21  5:59           ` Xuan Zhuo
2022-02-21  6:18             ` Xuan Zhuo
2022-02-21  6:37               ` Jason Wang
2022-02-21  6:41                 ` Xuan Zhuo
2022-02-21  6:55                   ` Jason Wang
2022-02-21  7:46                     ` Xuan Zhuo
2022-02-21  6:46                 ` Xuan Zhuo
2022-02-21  6:56                   ` Jason Wang
2022-02-21 11:23       ` Xuan Zhuo
2022-02-22  4:02         ` Jason Wang
2022-02-22  7:48           ` Xuan Zhuo
2022-02-23  2:58             ` Jason Wang
2022-02-23  3:44               ` 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=20220218041948-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=xuanzhuo@linux.alibaba.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 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).