[ Cc: qemu-block ] Am 04.12.2023 um 17:42 hat Stefan Hajnoczi geschrieben: > v2: > - Reschedule BH in new AioContext if change is detected [Kevin] > - Drop stray "remember" in Patch 2's commit description [Eric] > > The SCSI subsystem uses the AioContext lock to protect internal state. This is > necessary because the main loop and the IOThread can access SCSI state in > parallel. This inter-thread access happens during scsi_device_purge_requests() > and scsi_dma_restart_cb(). > > This patch series modifies the code so SCSI state is only accessed from the > IOThread that is executing requests. Once this has been achieved the > AioContext > lock is no longer necessary. > > Note that a few aio_context_acquire()/aio_context_release() calls still remain > after this series. They surround API calls that invoke AIO_WAIT_WHILE() and > therefore still rely on the AioContext lock for now. > > Stefan Hajnoczi (4): > scsi: only access SCSIDevice->requests from one thread > virtio-scsi: don't lock AioContext around > virtio_queue_aio_attach_host_notifier() > scsi: don't lock AioContext in I/O code path > dma-helpers: don't lock AioContext in dma_blk_cb()
Thanks, applied to the block branch. Kevin