[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v7 resend 0/4] add generic vDPA device support
From: |
Michael S. Tsirkin |
Subject: |
Re: [PATCH v7 resend 0/4] add generic vDPA device support |
Date: |
Sun, 6 Nov 2022 01:22:00 -0400 |
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.
> > 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?
> >
> > > 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
> >
> > .
- [PATCH v7 resend 0/4] add generic vDPA device support, Longpeng(Mike), 2022/11/05
- [PATCH v7 resend 1/4] virtio: get class_id and pci device id by the virtio id, Longpeng(Mike), 2022/11/05
- [PATCH v7 resend 4/4] docs: Add generic vhost-vdpa device documentation, Longpeng(Mike), 2022/11/05
- [PATCH v7 resend 2/4] vdpa: add vdpa-dev support, Longpeng(Mike), 2022/11/05
- [PATCH v7 resend 3/4] vdpa: add vdpa-dev-pci support, Longpeng(Mike), 2022/11/05
- Re: [PATCH v7 resend 0/4] add generic vDPA device support, Michael S. Tsirkin, 2022/11/05