[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 1/4] block: extract AIO_WAIT_WHILE() from Blo
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v2 1/4] block: extract AIO_WAIT_WHILE() from BlockDriverState |
Date: |
Thu, 15 Feb 2018 09:27:30 +0000 |
User-agent: |
Mutt/1.9.2 (2017-12-15) |
On Wed, Feb 14, 2018 at 04:31:45PM -0600, Eric Blake wrote:
> On 02/14/2018 08:06 AM, Stefan Hajnoczi wrote:
> > On Tue, Feb 13, 2018 at 10:01:06AM -0600, Eric Blake wrote:
> > I hope this explains things! The main issue that raised these questions
> > was that aio_context_in_iothread() has a misleading name. Shall we
> > rename it?
>
> Maybe, but that's a separate patch. What name would we bikeshed, maybe
> aio_context_correct_thread() (we are the correct thread if we are the
> iothread that owns ctx, or if we are the main thread and have properly
> acquired ctx)
Having acquired the AioContext does not make this function return true.
The semantics are:
1. Current thread is the IOThread that runs the AioContext
2. Current thread is the main loop and the AioContext is the global
AioContext.
The function tests whether the current thread is the "native" or "home"
thread for this AioContext. Perhaps we could also call it the "poller"
thread because only that thread is allowed to call aio_poll(ctx, true).
if (aio_context_in_native_thread(ctx)) {
...
} else {
...
}
What do you think?
signature.asc
Description: PGP signature
[Qemu-devel] [PATCH v2 3/4] block: test blk_aio_flush() with blk->root == NULL, Stefan Hajnoczi, 2018/02/13
[Qemu-devel] [PATCH v2 4/4] Revert "IDE: Do not flush empty CDROM drives", Stefan Hajnoczi, 2018/02/13
Re: [Qemu-devel] [PATCH v2 0/4] block: fix blk_aio_*() segfault when blk->root == NULL, Stefan Hajnoczi, 2018/02/15