qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/7] ASID support in vhost-vdpa net
@ 2022-07-22 13:43 Eugenio Pérez
  2022-07-22 13:43 ` [PATCH v2 1/7] linux-headers: Update kernel headers to v5.19-rc1 Eugenio Pérez
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Eugenio Pérez @ 2022-07-22 13:43 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jason Wang, Harpreet Singh Anand, Cindy Lu, Cornelia Huck, kvm,
	Parav Pandit, Stefan Hajnoczi, Gonglei (Arei), Michael S. Tsirkin,
	Zhu Lingshan, Liuxiangdong, Gautam Dawar, Paolo Bonzini,
	Stefano Garzarella, Eli Cohen, Laurent Vivier

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.

This series is based on [1], and this needs to be applied on top of that.  Each
one of them adds a feature on isolation and could be merged individually once
conflicts are solved.

Comments are welcome. Thanks!

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.

[1] https://lists.nongnu.org/archive/html/qemu-devel/2022-07/msg04009.html

Eugenio Pérez (7):
  linux-headers: Update kernel headers to v5.19-rc1
  vdpa: Use v->shadow_vqs_enabled in vhost_vdpa_svqs_start & stop
  vdpa: Allocate SVQ unconditionally
  vdpa: Add asid parameter to vhost_vdpa_dma_map/unmap
  vdpa: Store x-svq parameter in VhostVDPAState
  vhost_net: Add NetClientInfo prepare callback
  vdpa: Always start CVQ in SVQ mode

 include/hw/virtio/vhost-vdpa.h               |   8 +-
 include/net/net.h                            |   2 +
 include/standard-headers/asm-x86/bootparam.h |   1 +
 include/standard-headers/drm/drm_fourcc.h    |  69 ++++++++
 include/standard-headers/linux/ethtool.h     |   1 +
 include/standard-headers/linux/input.h       |   1 +
 include/standard-headers/linux/pci_regs.h    |   1 +
 include/standard-headers/linux/vhost_types.h |  11 +-
 include/standard-headers/linux/virtio_ids.h  |  14 +-
 linux-headers/asm-arm64/kvm.h                |  27 +++
 linux-headers/asm-generic/unistd.h           |   4 +-
 linux-headers/asm-riscv/kvm.h                |  20 +++
 linux-headers/asm-riscv/unistd.h             |   3 +-
 linux-headers/asm-x86/kvm.h                  |  11 +-
 linux-headers/asm-x86/mman.h                 |  14 --
 linux-headers/linux/kvm.h                    |  54 +++++-
 linux-headers/linux/userfaultfd.h            |  10 +-
 linux-headers/linux/vfio.h                   |   4 +-
 linux-headers/linux/vhost.h                  |  26 ++-
 hw/net/vhost_net.c                           |   4 +
 hw/virtio/vhost-vdpa.c                       |  66 ++++----
 net/vhost-vdpa.c                             | 168 ++++++++++++++++++-
 hw/virtio/trace-events                       |   4 +-
 23 files changed, 438 insertions(+), 85 deletions(-)

-- 
2.31.1




^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-08-03 17:36 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-22 13:43 [PATCH v2 0/7] ASID support in vhost-vdpa net Eugenio Pérez
2022-07-22 13:43 ` [PATCH v2 1/7] linux-headers: Update kernel headers to v5.19-rc1 Eugenio Pérez
2022-07-22 13:43 ` [PATCH v2 2/7] vdpa: Use v->shadow_vqs_enabled in vhost_vdpa_svqs_start & stop Eugenio Pérez
2022-07-22 13:43 ` [PATCH v2 3/7] vdpa: Allocate SVQ unconditionally Eugenio Pérez
2022-07-22 13:43 ` [PATCH v2 4/7] vdpa: Add asid parameter to vhost_vdpa_dma_map/unmap Eugenio Pérez
2022-07-25  9:36   ` Jason Wang
2022-08-01  7:12     ` Eugenio Perez Martin
2022-07-22 13:43 ` [PATCH v2 5/7] vdpa: Store x-svq parameter in VhostVDPAState Eugenio Pérez
2022-07-22 13:43 ` [PATCH v2 6/7] vhost_net: Add NetClientInfo prepare callback Eugenio Pérez
2022-07-22 13:43 ` [PATCH v2 7/7] vdpa: Always start CVQ in SVQ mode Eugenio Pérez
2022-07-26  3:04   ` Jason Wang
2022-08-01  7:50     ` Eugenio Perez Martin
2022-08-03 17:18       ` Eugenio Perez Martin

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).