[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH RFC 0/3] iothread: release iothread around aio_p
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH RFC 0/3] iothread: release iothread around aio_poll |
Date: |
Tue, 21 Apr 2015 17:54:59 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 |
On 21/04/2015 17:40, Stefan Hajnoczi wrote:
>> >
>> > Stefan, can you put this on track for 2.4 or do you need a repost?
> This series causes qemu-iotests -qcow2 091 to fail:
>
> 9f83aea22314d928bb272153ff37d2d7f5adbf06 is the first bad commit
> commit 9f83aea22314d928bb272153ff37d2d7f5adbf06
> Author: Paolo Bonzini <address@hidden>
> Date: Fri Feb 20 17:26:50 2015 +0100
>
> aio-posix: move pollfds to thread-local storage
Oops... what I intended is this:
diff --git a/aio-posix.c b/aio-posix.c
index 4a30b77..e411591 100644
--- a/aio-posix.c
+++ b/aio-posix.c
@@ -254,8 +254,7 @@ bool aio_poll(AioContext *ctx, bool blocking)
aio_set_dispatching(ctx, !blocking);
ctx->walking_handlers++;
-
- npfd = 0;
+ assert(npfd == 0);
/* fill pollfds */
QLIST_FOREACH(node, &ctx->aio_handlers, node) {
@@ -276,6 +275,7 @@ bool aio_poll(AioContext *ctx, bool blocking)
}
}
+ npfd = 0;
ctx->walking_handlers--;
/* Run dispatch even if there were no readable fds to run timers */
but the above is totally untested, so feel free to just remove
the assertion or also to drop the series.
Paolo