[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 00/10] ASID support in vhost-vdpa net
From: |
Michael S. Tsirkin |
Subject: |
Re: [PATCH v6 00/10] ASID support in vhost-vdpa net |
Date: |
Thu, 10 Nov 2022 07:25:14 -0500 |
On Tue, Nov 08, 2022 at 06:07:45PM +0100, Eugenio Pérez wrote:
> Control VQ is the way net devices use to send changes to the device state,
> like
> the number of active queues or its mac address.
>
> QEMU needs to intercept this queue so it can track these changes and is able
> to
> migrate the device. It can do it from 1576dbb5bbc4 ("vdpa: Add x-svq to
> NetdevVhostVDPAOptions"). However, to enable x-svq implies to shadow all
> VirtIO
> device's virtqueues, which will damage performance.
>
> This series adds address space isolation, so the device and the guest
> communicate directly with them (passthrough) and CVQ communication is split in
> two: The guest communicates with QEMU and QEMU forwards the commands to the
> device.
>
> Comments are welcome. Thanks!
This is not 7.2 material, right?
> v6:
> - Do not allocate SVQ resources like file descriptors if SVQ cannot be used.
> - Disable shadow CVQ if the device does not support it because of net
> features.
>
> v5:
> - Move vring state in vhost_vdpa_get_vring_group instead of using a
> parameter.
> - Rename VHOST_VDPA_NET_CVQ_PASSTHROUGH to VHOST_VDPA_NET_DATA_ASID
>
> v4:
> - Rebased on last CVQ start series, that allocated CVQ cmd bufs at load
> - Squash vhost_vdpa_cvq_group_is_independent.
> - Do not check for cvq index on vhost_vdpa_net_prepare, we only have one
> that callback registered in that NetClientInfo.
> - Add comment specifying behavior if device does not support _F_ASID
> - Update headers to a later Linux commit to not to remove SETUP_RNG_SEED
>
> v3:
> - Do not return an error but just print a warning if vdpa device
> initialization
> returns failure while getting AS num of VQ groups
> - Delete extra newline
>
> v2:
> - Much as commented on series [1], handle vhost_net backend through
> NetClientInfo callbacks instead of directly.
> - Fix not freeing SVQ properly when device does not support CVQ
> - Add BIT_ULL missed checking device's backend feature for _F_ASID.
>
> Eugenio Pérez (10):
> vdpa: Use v->shadow_vqs_enabled in vhost_vdpa_svqs_start & stop
> vhost: set SVQ device call handler at SVQ start
> vhost: Allocate SVQ device file descriptors at device start
> vdpa: add vhost_vdpa_net_valid_svq_features
> vdpa: move SVQ vring features check to net/
> vdpa: Allocate SVQ unconditionally
> vdpa: Add asid parameter to vhost_vdpa_dma_map/unmap
> vdpa: Store x-svq parameter in VhostVDPAState
> vdpa: Add listener_shadow_vq to vhost_vdpa
> vdpa: Always start CVQ in SVQ mode
>
> include/hw/virtio/vhost-vdpa.h | 10 +-
> hw/virtio/vhost-shadow-virtqueue.c | 35 +-----
> hw/virtio/vhost-vdpa.c | 114 ++++++++++---------
> net/vhost-vdpa.c | 171 ++++++++++++++++++++++++++---
> hw/virtio/trace-events | 4 +-
> 5 files changed, 222 insertions(+), 112 deletions(-)
>
> --
> 2.31.1
>
- Re: [PATCH v6 09/10] vdpa: Add listener_shadow_vq to vhost_vdpa, (continued)
[PATCH v6 10/10] vdpa: Always start CVQ in SVQ mode, Eugenio Pérez, 2022/11/08
Re: [PATCH v6 00/10] ASID support in vhost-vdpa net,
Michael S. Tsirkin <=