mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
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>
This commit is contained in:
parent
2e8e18c2e4
commit
bcede51d2d
3 changed files with 33 additions and 125 deletions
|
@ -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 */
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue