qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 0/4] scsi: eliminate AioContext lock


From: Stefan Hajnoczi
Subject: Re: [PATCH 0/4] scsi: eliminate AioContext lock
Date: Thu, 23 Nov 2023 14:57:57 -0500

On Thu, Nov 23, 2023 at 02:49:27PM -0500, Stefan Hajnoczi wrote:
> 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()
> 
>  include/hw/scsi/scsi.h          |   7 +-
>  hw/scsi/scsi-bus.c              | 174 ++++++++++++++++++++++----------
>  hw/scsi/scsi-disk.c             |  23 -----
>  hw/scsi/scsi-generic.c          |  20 +---
>  hw/scsi/virtio-scsi-dataplane.c |   8 +-
>  system/dma-helpers.c            |   7 +-
>  6 files changed, 130 insertions(+), 109 deletions(-)

CCing Kevin and qemu-block

> 
> -- 
> 2.42.0
> 

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]