From bcede51d2d1ae03f99ccb2569e52b5062033d40d Mon Sep 17 00:00:00 2001 From: Stefan Hajnoczi Date: Tue, 11 Mar 2025 21:26:15 +0800 Subject: virtio-scsi: handle ctrl virtqueue in main loop Previously the ctrl virtqueue was handled in the AioContext where SCSI requests are processed. When IOThread Virtqueue Mapping was added things become more complicated because SCSI requests could run in other AioContexts. Simplify by handling the ctrl virtqueue in the main loop where reset operations can be performed. Note that BHs are still used canceling SCSI requests in their AioContexts but at least the mean loop activity doesn't need BHs anymore. Signed-off-by: Stefan Hajnoczi Message-ID: <20250311132616.1049687-13-stefanha@redhat.com> Tested-by: Peter Krempa Signed-off-by: Kevin Wolf --- include/hw/virtio/virtio-scsi.h | 8 -------- 1 file changed, 8 deletions(-) (limited to 'include') diff --git a/include/hw/virtio/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h index 086201e..31e852e 100644 --- a/include/hw/virtio/virtio-scsi.h +++ b/include/hw/virtio/virtio-scsi.h @@ -90,14 +90,6 @@ struct VirtIOSCSI { QemuMutex ctrl_lock; /* protects ctrl_vq */ - /* - * TMFs deferred to main loop BH. These fields are protected by - * tmf_bh_lock. - */ - QemuMutex tmf_bh_lock; - QEMUBH *tmf_bh; - QTAILQ_HEAD(, VirtIOSCSIReq) tmf_bh_list; - /* Fields for dataplane below */ AioContext **vq_aio_context; /* per-virtqueue AioContext pointer */ -- cgit v1.1