[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 05/12] block: remove AioContext locking
From: |
Kevin Wolf |
Subject: |
Re: [PATCH 05/12] block: remove AioContext locking |
Date: |
Mon, 4 Dec 2023 15:33:57 +0100 |
Am 29.11.2023 um 20:55 hat Stefan Hajnoczi geschrieben:
> This is the big patch that removes
> aio_context_acquire()/aio_context_release() from the block layer and
> affected block layer users.
>
> There isn't a clean way to split this patch and the reviewers are likely
> the same group of people, so I decided to do it in one patch.
>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> @@ -7585,29 +7433,12 @@ void coroutine_fn bdrv_co_leave(BlockDriverState *bs,
> AioContext *old_ctx)
>
> void coroutine_fn bdrv_co_lock(BlockDriverState *bs)
> {
> - AioContext *ctx = bdrv_get_aio_context(bs);
> -
> - /* In the main thread, bs->aio_context won't change concurrently */
> - assert(qemu_get_current_aio_context() == qemu_get_aio_context());
> -
> - /*
> - * We're in coroutine context, so we already hold the lock of the main
> - * loop AioContext. Don't lock it twice to avoid deadlocks.
> - */
> - assert(qemu_in_coroutine());
> - if (ctx != qemu_get_aio_context()) {
> - aio_context_acquire(ctx);
> - }
> + /* TODO removed in next patch */
> }
It's still there at the end of the series.
> void coroutine_fn bdrv_co_unlock(BlockDriverState *bs)
> {
> - AioContext *ctx = bdrv_get_aio_context(bs);
> -
> - assert(qemu_in_coroutine());
> - if (ctx != qemu_get_aio_context()) {
> - aio_context_release(ctx);
> - }
> + /* TODO removed in next patch */
> }
This one, too.
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
- Re: [PATCH 05/12] block: remove AioContext locking,
Kevin Wolf <=