[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 08/12] aio: remove aio_context_acquire()/aio_context_release(
From: |
Eric Blake |
Subject: |
Re: [PATCH 08/12] aio: remove aio_context_acquire()/aio_context_release() API |
Date: |
Thu, 30 Nov 2023 15:42:53 -0600 |
User-agent: |
NeoMutt/20231103 |
On Wed, Nov 29, 2023 at 02:55:49PM -0500, Stefan Hajnoczi wrote:
> Delete these functions because nothing calls these functions anymore.
>
> I introduced these APIs in commit 98563fc3ec44 ("aio: add
> aio_context_acquire() and aio_context_release()") in 2014. It's with a
> sigh of relief that I delete these APIs almost 10 years later.
>
> Thanks to Paolo Bonzini's vision for multi-queue QEMU, we got an
> understanding of where the code needed to go in order to remove the
> limitations that the original dataplane and the IOThread/AioContext
> approach that followed it.
>
> Emanuele Giuseppe Esposito had the splendid determination to convert
> large parts of the codebase so that they no longer needed the AioContext
> lock. This was a painstaking process, both in the actual code changes
> required and the iterations of code review that Emanuele eeked out of
s/eeked/eked/
> Kevin and me over many months.
>
> Kevin Wolf tackled multitudes of graph locking conversions to protect
> in-flight I/O from run-time changes to the block graph as well as the
> clang Thread Safety Analysis annotations that allow the compiler to
> check whether the graph lock is being used correctly.
>
> And me, well, I'm just here to add some pizzazz to the QEMU multi-queue
> block layer :). Thank you to everyone who helped with this effort,
> including Eric Blake, code reviewer extraordinaire, and others who I've
> forgotten to mention.
>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
> include/block/aio.h | 17 -----------------
> util/async.c | 10 ----------
> 2 files changed, 27 deletions(-)
>
Yay!
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization: qemu.org | libguestfs.org
- [PATCH 01/12] virtio-scsi: replace AioContext lock with tmf_bh_lock, (continued)
- [PATCH 01/12] virtio-scsi: replace AioContext lock with tmf_bh_lock, Stefan Hajnoczi, 2023/11/29
- [PATCH 04/12] graph-lock: remove AioContext locking, Stefan Hajnoczi, 2023/11/29
- [PATCH 05/12] block: remove AioContext locking, Stefan Hajnoczi, 2023/11/29
- [PATCH 06/12] scsi: remove AioContext locking, Stefan Hajnoczi, 2023/11/29
- [PATCH 08/12] aio: remove aio_context_acquire()/aio_context_release() API, Stefan Hajnoczi, 2023/11/29
- Re: [PATCH 08/12] aio: remove aio_context_acquire()/aio_context_release() API,
Eric Blake <=
- [PATCH 07/12] aio-wait: draw equivalence between AIO_WAIT_WHILE() and AIO_WAIT_WHILE_UNLOCKED(), Stefan Hajnoczi, 2023/11/29
- [PATCH 09/12] docs: remove AioContext lock from IOThread docs, Stefan Hajnoczi, 2023/11/29
- [PATCH 10/12] scsi: remove outdated AioContext lock comment, Stefan Hajnoczi, 2023/11/29
- [PATCH 11/12] job: remove outdated AioContext locking comments, Stefan Hajnoczi, 2023/11/29
- [PATCH 12/12] block: remove outdated AioContext locking comments, Stefan Hajnoczi, 2023/11/29