From: longpeng2--- via <qemu-devel@nongnu.org>
To: "Michael S. Tsirkin" <mst@redhat.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 21:11:39 +0800 [thread overview]
Message-ID: <2b3d77fc-ece4-32b4-964a-c939613f1ca3@huawei.com> (raw)
In-Reply-To: <20221106011943-mutt-send-email-mst@kernel.org>
在 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.
>>>
>>>> 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
>>>
>>> .
>
>
> .
next prev parent reply other threads:[~2022-11-06 13:13 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 [this message]
2022-11-06 13:47 ` Michael S. Tsirkin
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=2b3d77fc-ece4-32b4-964a-c939613f1ca3@huawei.com \
--to=qemu-devel@nongnu.org \
--cc=arei.gonglei@huawei.com \
--cc=cohuck@redhat.com \
--cc=huangzhichao@huawei.com \
--cc=jasowang@redhat.com \
--cc=longpeng2@huawei.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--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).