summaryrefslogtreecommitdiff
path: root/include/block/aio.h
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2016-12-01 19:26:40 +0000
committerStefan Hajnoczi <stefanha@redhat.com>2017-01-03 16:38:47 +0000
commit721671ade77f4046b45893fbb7864ca84b9504cd (patch)
tree46a5e927a01342c5818e6ba99f137a6ad6fbb9f8 /include/block/aio.h
parent0891ee111217101bce683e30ed9f08cf0cfcffd7 (diff)
downloadqemu-721671ade77f4046b45893fbb7864ca84b9504cd.tar.gz
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/block/aio.h')
-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.