|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 05/12] block: remove AioContext locking
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@xxxxxxxxxx>
> @@ -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@xxxxxxxxxx>
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |