aio-posix: avoid unnecessary aio_epoll_enabled() calls
As epoll whether enabled or not is a global setting, we can just check it only once rather than checking it with every node iteration. Through this we can avoid a lot of checks when epoll is not enabled. Signed-off-by: Yaowei Bai <baiyaowei@cmss.chinamobile.com> Reviewed-by: Xiubo Li <lixiubo@cmss.chinamobile.com> Message-id: 1473851019-7005-3-git-send-email-baiyaowei@cmss.chinamobile.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
e7e4f9f950
commit
6b9424689a
12
aio-posix.c
12
aio-posix.c
@ -431,11 +431,13 @@ bool aio_poll(AioContext *ctx, bool blocking)
|
|||||||
assert(npfd == 0);
|
assert(npfd == 0);
|
||||||
|
|
||||||
/* fill pollfds */
|
/* fill pollfds */
|
||||||
QLIST_FOREACH(node, &ctx->aio_handlers, node) {
|
|
||||||
if (!node->deleted && node->pfd.events
|
if (!aio_epoll_enabled(ctx)) {
|
||||||
&& !aio_epoll_enabled(ctx)
|
QLIST_FOREACH(node, &ctx->aio_handlers, node) {
|
||||||
&& aio_node_check(ctx, node->is_external)) {
|
if (!node->deleted && node->pfd.events
|
||||||
add_pollfd(node);
|
&& aio_node_check(ctx, node->is_external)) {
|
||||||
|
add_pollfd(node);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user