summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorStefan Hajnoczi2016-12-01 20:26:40 +0100
committerStefan Hajnoczi2017-01-03 17:38:47 +0100
commit721671ade77f4046b45893fbb7864ca84b9504cd (patch)
tree46a5e927a01342c5818e6ba99f137a6ad6fbb9f8 /include
parentHACKING: document #include order (diff)
downloadqemu-721671ade77f4046b45893fbb7864ca84b9504cd.tar.gz
qemu-721671ade77f4046b45893fbb7864ca84b9504cd.tar.xz
qemu-721671ade77f4046b45893fbb7864ca84b9504cd.zip
aio: add flag to skip fds to aio_dispatch()
Polling mode will not call ppoll(2)/epoll_wait(2). Therefore we know there are no fds ready and should avoid looping over fd handlers in aio_dispatch(). Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 20161201192652.9509-2-stefanha@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/block/aio.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/block/aio.h b/include/block/aio.h
index ca551e346f..c1519ec83a 100644
--- a/include/block/aio.h
+++ b/include/block/aio.h
@@ -295,8 +295,12 @@ bool aio_pending(AioContext *ctx);
/* Dispatch any pending callbacks from the GSource attached to the AioContext.
*
* This is used internally in the implementation of the GSource.
+ *
+ * @dispatch_fds: true to process fds, false to skip them
+ * (can be used as an optimization by callers that know there
+ * are no fds ready)
*/
-bool aio_dispatch(AioContext *ctx);
+bool aio_dispatch(AioContext *ctx, bool dispatch_fds);
/* Progress in completing AIO work to occur. This can issue new pending
* aio as a result of executing I/O completion or bh callbacks.