qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/2] Move ASID test to vhost-vdpa net initialization
@ 2023-05-26 15:31 Eugenio Pérez
  2023-05-26 15:31 ` [PATCH v4 1/2] vdpa: return errno in vhost_vdpa_get_vring_group error Eugenio Pérez
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Eugenio Pérez @ 2023-05-26 15:31 UTC (permalink / raw)
  To: qemu-devel
  Cc: Parav Pandit, Gonglei (Arei), longpeng2, Shannon Nelson,
	Laurent Vivier, si-wei.liu, Cindy Lu, Lei Yang,
	Harpreet Singh Anand, Dragos Tatulea, Stefano Garzarella,
	Gautam Dawar, Jason Wang, Liuxiangdong, Michael S. Tsirkin,
	alvaro.karsz, Zhu Lingshan

QEMU v8.0 is able to switch dynamically between vhost-vdpa passthrough
and SVQ mode as long as the net device does not have CVQ.  The net device
state followed (and migrated) by CVQ requires special care.

A pre-requisite to add CVQ to that framework is to determine if devices with
CVQ are migratable or not at initialization time.  The solution to it is to
always shadow only CVQ, and vq groups and ASID are used for that.

However, current qemu version only checks ASID at device start (as "driver set
DRIVER_OK status bit"), not at device initialization.  A check at
initialization time is required.  Otherwise, the guest would be able to set
and remove migration blockers at will [1].

This series is a requisite for migration of vhost-vdpa net devices with CVQ.
However it already makes sense by its own, as it reduces the number of ioctls
at migration time, decreasing the error paths there.

[1] https://lore.kernel.org/qemu-devel/2616f0cd-f9e8-d183-ea78-db1be4825d9c@redhat.com/
---
v4:
* Only probe one of MQ or !MQ.
* Merge vhost_vdpa_cvq_is_isolated in vhost_vdpa_probe_cvq_isolation
* Call ioctl directly instead of adding functions.

v3:
* Only record cvq_isolated, true if the device have cvq isolated in both !MQ
* and MQ configurations.
* Drop the cache of cvq group, it can be done on top

v2:
* Take out the reset of the device from vhost_vdpa_cvq_is_isolated
  (reported by Lei Yang).
* Expand patch messages by Stefano G. questions.

Eugenio Pérez (2):
  vdpa: return errno in vhost_vdpa_get_vring_group error
  vdpa: move CVQ isolation check to net_init_vhost_vdpa

 net/vhost-vdpa.c | 147 ++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 112 insertions(+), 35 deletions(-)

-- 
2.31.1




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

end of thread, other threads:[~2023-06-25  9:13 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-26 15:31 [PATCH v4 0/2] Move ASID test to vhost-vdpa net initialization Eugenio Pérez
2023-05-26 15:31 ` [PATCH v4 1/2] vdpa: return errno in vhost_vdpa_get_vring_group error Eugenio Pérez
2023-05-26 15:31 ` [PATCH v4 2/2] vdpa: move CVQ isolation check to net_init_vhost_vdpa Eugenio Pérez
2023-05-31  1:44   ` Jason Wang
2023-06-02 11:29 ` [PATCH v4 0/2] Move ASID test to vhost-vdpa net initialization Lei Yang
2023-06-23 13:04 ` Peter Maydell
2023-06-25  9:11   ` 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).