[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 4/4] dma-helpers: don't lock AioContext in dma_blk_cb()
From: |
Kevin Wolf |
Subject: |
Re: [PATCH 4/4] dma-helpers: don't lock AioContext in dma_blk_cb() |
Date: |
Fri, 1 Dec 2023 17:48:36 +0100 |
Am 23.11.2023 um 20:49 hat Stefan Hajnoczi geschrieben:
> Commit abfcd2760b3e ("dma-helpers: prevent dma_blk_cb() vs
> dma_aio_cancel() race") acquired the AioContext lock inside dma_blk_cb()
> to avoid a race with scsi_device_purge_requests() running in the main
> loop thread.
>
> The SCSI code no longer calls dma_aio_cancel() from the main loop thread
> while I/O is running in the IOThread AioContext. Therefore it is no
> longer necessary to take this lock to protect DMAAIOCB fields. The
> ->cb() function also does not require the lock because blk_aio_*() and
> friends do not need the AioContext lock.
>
> Both hw/ide/core.c and hw/ide/macio.c also call dma_blk_io() but don't
> rely on it taking the AioContext lock, so this change is safe.
>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
The commit message neglects to talk about dbs->io_func, which is what
took the AioContext lock even before commit abfcd2760b3e. I think the
reason is the same as for the previous patch.
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH 4/4] dma-helpers: don't lock AioContext in dma_blk_cb(),
Kevin Wolf <=