]> git.ipfire.org Git - thirdparty/qemu.git/commit
virtio-scsi: handle ctrl virtqueue in main loop
authorStefan Hajnoczi <stefanha@redhat.com>
Tue, 11 Mar 2025 13:26:15 +0000 (21:26 +0800)
committerKevin Wolf <kwolf@redhat.com>
Thu, 13 Mar 2025 16:57:23 +0000 (17:57 +0100)
commitbcede51d2d1ae03f99ccb2569e52b5062033d40d
tree81eb071797d86cf02fa9eb1914e46772df0bfb62
parent2e8e18c2e46307a355e547129b5a7a7000a0cf0d
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 <stefanha@redhat.com>
Message-ID: <20250311132616.1049687-13-stefanha@redhat.com>
Tested-by: Peter Krempa <pkrempa@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
hw/scsi/virtio-scsi-dataplane.c
hw/scsi/virtio-scsi.c
include/hw/virtio/virtio-scsi.h