[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 00/14] aio: remove AioContext lock
From: |
Kevin Wolf |
Subject: |
Re: [PATCH v2 00/14] aio: remove AioContext lock |
Date: |
Tue, 19 Dec 2023 14:03:21 +0100 |
Am 05.12.2023 um 19:19 hat Stefan Hajnoczi geschrieben:
> v2:
> - Add Patch 2 "scsi: assert that callbacks run in the correct AioContext"
> [Kevin]
> - Add Patch 7 "block: remove bdrv_co_lock()" [Eric and Kevin]
> - Remove stray goto label in Patch 8 [Kevin]
> - Fix "eeked" -> "eked" typo in Patch 10 [Eric]
>
> This series removes the AioContext locking APIs from QEMU.
> aio_context_acquire() and aio_context_release() are currently only needed to
> support the locking discipline required by AIO_POLL_WHILE() (except for a
> stray
> user that I converted in Patch 1). AIO_POLL_WHILE() doesn't really need the
> AioContext lock anymore, so it's possible to remove the API. This is a nice
> simplification because the AioContext locking rules were sometimes tricky or
> underspecified, leading to many bugs of the years.
>
> This patch series removes these APIs across the codebase and cleans up the
> documentation/comments that refers to them.
>
> Patch 1 is a AioContext lock user I forgot to convert in my earlier SCSI
> conversion series.
>
> Patch 2 adds an assertion to the SCSI code to ensure that callbacks are
> invoked
> in the correct AioContext.
>
> Patch 3 removes tests for the AioContext lock because they will no longer be
> needed when the lock is gone.
>
> Patches 4-10 remove the AioContext lock. These can be reviewed by categorizing
> the call sites into 1. places that take the lock because they call an API that
> requires the lock (ultimately AIO_POLL_WHILE()) and 2. places that take the
> lock to protect state. There should be no instances of case 2 left. If you see
> one, you've found a bug in this patch series!
>
> Patches 11-14 remove comments.
Thanks, applied to the block branch.
Kevin
- [PATCH v2 05/14] graph-lock: remove AioContext locking, (continued)
- [PATCH v2 05/14] graph-lock: remove AioContext locking, Stefan Hajnoczi, 2023/12/05
- [PATCH v2 10/14] aio: remove aio_context_acquire()/aio_context_release() API, Stefan Hajnoczi, 2023/12/05
- [PATCH v2 09/14] aio-wait: draw equivalence between AIO_WAIT_WHILE() and AIO_WAIT_WHILE_UNLOCKED(), Stefan Hajnoczi, 2023/12/05
- [PATCH v2 12/14] scsi: remove outdated AioContext lock comment, Stefan Hajnoczi, 2023/12/05
- [PATCH v2 13/14] job: remove outdated AioContext locking comments, Stefan Hajnoczi, 2023/12/05
- [PATCH v2 11/14] docs: remove AioContext lock from IOThread docs, Stefan Hajnoczi, 2023/12/05
- [PATCH v2 14/14] block: remove outdated AioContext locking comments, Stefan Hajnoczi, 2023/12/05
- Re: [PATCH v2 00/14] aio: remove AioContext lock,
Kevin Wolf <=