qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Longpeng (Mike,
	Cloud Infrastructure Service Product Dept.)"
	<longpeng2@huawei.com>
Cc: stefanha@redhat.com, jasowang@redhat.com, sgarzare@redhat.com,
	cohuck@redhat.com, pbonzini@redhat.com, arei.gonglei@huawei.com,
	yechuan@huawei.com, huangzhichao@huawei.com,
	qemu-devel@nongnu.org, xiehong@huawei.com
Subject: Re: [PATCH v7 resend 0/4] add generic vDPA device support
Date: Sun, 6 Nov 2022 08:47:51 -0500	[thread overview]
Message-ID: <20221106083701-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <2b3d77fc-ece4-32b4-964a-c939613f1ca3@huawei.com>

On Sun, Nov 06, 2022 at 09:11:39PM +0800, Longpeng (Mike, Cloud Infrastructure Service Product Dept.) wrote:
> 
> 
> 在 2022/11/6 13:22, Michael S. Tsirkin 写道:
> > On Sun, Nov 06, 2022 at 08:17:07AM +0800, Longpeng (Mike, Cloud Infrastructure Service Product Dept.) wrote:
> > > 
> > > 
> > > 在 2022/11/6 0:43, Michael S. Tsirkin 写道:
> > > > On Sat, Nov 05, 2022 at 04:36:25PM +0800, Longpeng(Mike) wrote:
> > > > > From: Longpeng <longpeng2@huawei.com>
> > > > > 
> > > > > Hi guys,
> > > > > 
> > > > > With the generic vDPA device, QEMU won't need to touch the device
> > > > > types any more, such like vfio.
> > > > 
> > > > With this kind of passthrough migration is completely MIA right?
> > > > Better add a blocker...
> > > 
> > > Oh, I missed the "vdpa-dev: mark the device as unmigratable" since v4 and
> > > I'll add it in the next version.
> > > 
> > > We'll support passthrough migration in the next step. We have already
> > > written a demo that can migrate between some offloading cards.
> > 
> > Hmm ok. Backend disconnect can't work though, can it? State
> > is by necessity lost when backend crashes.
> > Yes, it can't.
> 
> > > > And given this is there an advantage over VFIO?
> > > 
> > > I think the answer is the same as "why we need vDPA" if we compare it with
> > > VFIO.
> > 
> > The answer is mostly because you can migrate and support backend
> > disconnect, no?
> > 
> Migrating between different hardware is the first consideration in our
> requirement, supporting backend disconnect is a low priority.

I dislike non-orthogonal features though ...
And the advantage of keeping it out of process with qemu is
I presume security?

> > > > 
> > > > > We can use the generic vDPA device as follow:
> > > > >     -device vhost-vdpa-device-pci,vhostdev=/dev/vhost-vdpa-X
> > > > >     Or
> > > > >     -M microvm -m 512m -smp 2 -kernel ... -initrd ... -device \
> > > > >     vhost-vdpa-device,vhostdev=/dev/vhost-vdpa-x
> > > > 
> > > > > Changes v6 -> v7:
> > > > >       (v6: https://mail.gnu.org/archive/html/qemu-devel/2022-05/msg02821.html)
> > > > >       - rebase. [Jason]
> > > > >       - add documentation . [Stefan]
> > > > > 
> > > > > Changes v5 -> v6:
> > > > >     Patch 2:
> > > > >       - Turn to the original approach in the RFC to initialize the
> > > > >         virtio_pci_id_info array. [Michael]
> > > > > 	  https://lore.kernel.org/all/20220105005900.860-2-longpeng2@huawei.com/
> > > > >     Patch 3:
> > > > >       - Fix logical error of exception handler around the post_init.
> > > > >         [Stefano]
> > > > >       - Fix some coding style warnings. [Stefano]
> > > > >     Patch 4:
> > > > >       - Fix some coding style warnings. [Stefano]
> > > > > 
> > > > > Changes v4 -> v5:
> > > > >     Patch 3:
> > > > >       - remove vhostfd [Jason]
> > > > >       - support virtio-mmio [Jason]
> > > > > 
> > > > > Changes v3 -> v4:
> > > > >     v3: https://www.mail-archive.com/qemu-devel@nongnu.org/msg877015.html
> > > > >     - reorganize the series [Stefano]
> > > > >     - fix some typos [Stefano]
> > > > >     - fix logical error in vhost_vdpa_device_realize [Stefano]
> > > > > 
> > > > > Changes v2 -> v3
> > > > >     Patch 4 & 5:
> > > > >       - only call vdpa ioctls in vdpa-dev.c [Stefano, Longpeng]
> > > > >       - s/VQS_NUM/VQS_COUNT  [Stefano]
> > > > >       - check both vdpa_dev_fd and vdpa_dev [Stefano]
> > > > >     Patch 6:
> > > > >       - move all steps into vhost_vdpa_device_unrealize. [Stefano]
> > > > > 
> > > > > Changes RFC -> v2
> > > > >     Patch 1:
> > > > >       - rename 'pdev_id' to 'trans_devid'  [Michael]
> > > > >       - only use transitional device id for the devices
> > > > >         listed in the spec  [Michael]
> > > > >       - use macros to make the id_info table clearer  [Longpeng]
> > > > >       - add some modern devices in the id_info table  [Longpeng]
> > > > >     Patch 2:
> > > > >       - remove the GET_VECTORS_NUM command  [Jason]
> > > > >     Patch 4:
> > > > >       - expose vdpa_dev_fd as a QOM preperty  [Stefan]
> > > > >       - introduce vhost_vdpa_device_get_u32 as a common
> > > > >         function to make the code clearer  [Stefan]
> > > > >       - fix the misleading description of 'dc->desc'  [Stefano]
> > > > >     Patch 5:
> > > > >       - check returned number of virtqueues  [Stefan]
> > > > >     Patch 6:
> > > > >       - init s->num_queues  [Stefano]
> > > > >       - free s->dev.vqs  [Stefano]
> > > > > 
> > > > > 
> > > > > Longpeng (Mike) (4):
> > > > >     virtio: get class_id and pci device id by the virtio id
> > > > >     vdpa: add vdpa-dev support
> > > > >     vdpa: add vdpa-dev-pci support
> > > > >     docs: Add generic vhost-vdpa device documentation
> > > > > 
> > > > >    docs/system/devices/vhost-vdpa-device.rst |  43 +++
> > > > >    hw/virtio/Kconfig                         |   5 +
> > > > >    hw/virtio/meson.build                     |   2 +
> > > > >    hw/virtio/vdpa-dev-pci.c                  | 102 ++++++
> > > > >    hw/virtio/vdpa-dev.c                      | 377 ++++++++++++++++++++++
> > > > >    hw/virtio/virtio-pci.c                    |  88 +++++
> > > > >    include/hw/virtio/vdpa-dev.h              |  43 +++
> > > > >    include/hw/virtio/virtio-pci.h            |   5 +
> > > > >    8 files changed, 665 insertions(+)
> > > > >    create mode 100644 docs/system/devices/vhost-vdpa-device.rst
> > > > >    create mode 100644 hw/virtio/vdpa-dev-pci.c
> > > > >    create mode 100644 hw/virtio/vdpa-dev.c
> > > > >    create mode 100644 include/hw/virtio/vdpa-dev.h
> > > > > 
> > > > > -- 
> > > > > 2.23.0
> > > > 
> > > > .
> > 
> > 
> > .



  reply	other threads:[~2022-11-06 13:49 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-05  8:36 [PATCH v7 resend 0/4] add generic vDPA device support Longpeng(Mike) via
2022-11-05  8:36 ` [PATCH v7 resend 1/4] virtio: get class_id and pci device id by the virtio id Longpeng(Mike) via
2022-11-05  8:36 ` [PATCH v7 resend 2/4] vdpa: add vdpa-dev support Longpeng(Mike) via
2022-11-05  8:36 ` [PATCH v7 resend 3/4] vdpa: add vdpa-dev-pci support Longpeng(Mike) via
2022-11-05  8:36 ` [PATCH v7 resend 4/4] docs: Add generic vhost-vdpa device documentation Longpeng(Mike) via
2022-11-05 16:43 ` [PATCH v7 resend 0/4] add generic vDPA device support Michael S. Tsirkin
2022-11-06  0:17   ` longpeng2--- via
2022-11-06  5:22     ` Michael S. Tsirkin
2022-11-06 13:11       ` longpeng2--- via
2022-11-06 13:47         ` Michael S. Tsirkin [this message]
2022-11-06 14:45           ` longpeng2--- via

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=20221106083701-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=arei.gonglei@huawei.com \
    --cc=cohuck@redhat.com \
    --cc=huangzhichao@huawei.com \
    --cc=jasowang@redhat.com \
    --cc=longpeng2@huawei.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=sgarzare@redhat.com \
    --cc=stefanha@redhat.com \
    --cc=xiehong@huawei.com \
    --cc=yechuan@huawei.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).