aboutsummaryrefslogtreecommitdiff
path: root/hw/scsi/virtio-scsi-dataplane.c
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2023-12-04 11:42:56 -0500
committerKevin Wolf <kwolf@redhat.com>2023-12-21 22:49:27 +0100
commiteaad0fe26050c227dc5dad63205835bac4912a51 (patch)
tree6c954c0f7d9cebf9ee228a68b281483a9d4e9fe2 /hw/scsi/virtio-scsi-dataplane.c
parentbb6e2511eb48539b7dcbcb5f47772e156b9c45d1 (diff)
downloadqemu-eaad0fe26050c227dc5dad63205835bac4912a51.zip
qemu-eaad0fe26050c227dc5dad63205835bac4912a51.tar.gz
qemu-eaad0fe26050c227dc5dad63205835bac4912a51.tar.bz2
scsi: only access SCSIDevice->requests from one thread
Stop depending on the AioContext lock and instead access SCSIDevice->requests from only one thread at a time: - When the VM is running only the BlockBackend's AioContext may access the requests list. - When the VM is stopped only the main loop may access the requests list. These constraints protect the requests list without the need for locking in the I/O code path. Note that multiple IOThreads are not supported yet because the code assumes all SCSIRequests are executed from a single AioContext. Leave that as future work. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-ID: <20231204164259.1515217-2-stefanha@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'hw/scsi/virtio-scsi-dataplane.c')
0 files changed, 0 insertions, 0 deletions