qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] vhost: clean up device reset
@ 2023-09-27 19:27 Stefan Hajnoczi
  2023-09-27 19:27 ` [PATCH 1/3] vhost-user: do not send RESET_OWNER on " Stefan Hajnoczi
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Stefan Hajnoczi @ 2023-09-27 19:27 UTC (permalink / raw)
  To: qemu-devel
  Cc: hreitz, Raphael Norwitz, Fam Zheng, Michael S. Tsirkin, eperezma,
	Paolo Bonzini, Stefan Hajnoczi

Stateful vhost devices may need to free resources or clear device state upon
device reset. The vhost-user protocol has a VHOST_USER_RESET_DEVICE message for
this and vDPA has SET_STATUS 0, but only QEMU's vhost-user-scsi device actually
implements this today.

This patch series performs device reset across all device types. When
virtio_reset() is called, the associated vhost_dev's ->vhost_reset_device() is
called. vhost-user-scsi's one-off implementation is obsoleted and removed.

This patch affects behavior as follows:
- vhost-kernel: no change in behavior. No ioctl calls are made.
- vhost-user: back-ends that negotiate
  VHOST_USER_PROTOCOL_F_RESET_DEVICE now receive a
  VHOST_USER_DEVICE_RESET message upon device reset. Otherwise there is
  no change in behavior. DPDK, SPDK, libvhost-user, and the
  vhost-user-backend crate do not negotiate
  VHOST_USER_PROTOCOL_F_RESET_DEVICE automatically.
- vhost-vdpa: an extra SET_STATUS 0 call is made during device reset.

I have tested this series with vhost-net (kernel), vhost-user-blk, and
vhost-user-fs (both Rust and legacy C).

Stefan Hajnoczi (3):
  vhost-user: do not send RESET_OWNER on device reset
  vhost-backend: remove vhost_kernel_reset_device()
  virtio: call ->vhost_reset_device() during reset

 include/hw/virtio/vhost.h |  3 +++
 hw/scsi/vhost-user-scsi.c | 20 --------------------
 hw/virtio/vhost-backend.c |  6 ------
 hw/virtio/vhost-user.c    | 13 +++++++++----
 hw/virtio/vhost.c         |  9 +++++++++
 hw/virtio/virtio.c        |  4 ++++
 6 files changed, 25 insertions(+), 30 deletions(-)

-- 
2.41.0



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

end of thread, other threads:[~2023-10-03 21:10 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-27 19:27 [PATCH 0/3] vhost: clean up device reset Stefan Hajnoczi
2023-09-27 19:27 ` [PATCH 1/3] vhost-user: do not send RESET_OWNER on " Stefan Hajnoczi
2023-09-28  3:01   ` Raphael Norwitz
2023-09-27 19:27 ` [PATCH 2/3] vhost-backend: remove vhost_kernel_reset_device() Stefan Hajnoczi
2023-09-28  3:01   ` Raphael Norwitz
2023-09-27 19:27 ` [PATCH 3/3] virtio: call ->vhost_reset_device() during reset Stefan Hajnoczi
2023-09-28  3:01   ` Raphael Norwitz
2023-09-28 10:38 ` [PATCH 0/3] vhost: clean up device reset Eugenio Perez Martin
2023-10-02 14:11   ` Lei Yang
2023-10-03 21:00 ` Michael S. Tsirkin
2023-10-03 21:09   ` Stefan Hajnoczi

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