v4: Rebase onto master (with aio_disable_external): Don't use epoll if aio_external_disabled(ctx); Change assert on epoll_ctl return code to disable epoll; Rerun benchmark;
v3: Remove the redundant check in aio_epoll_try_enable. [Stefan] v2: Merge aio-epoll.c into aio-posix.c. [Paolo] Capture some benchmark data in commit log. This series adds the ability to use epoll in aio_poll() on Linux. It's switched on in a dynamic way rather than static for two reasons: 1) when the number of fds is not high enough, using epoll has little advantage; 2) when an epoll incompatible fd needs to be handled, we need to fall back. The epoll is enabled when a fd number threshold is met. Fam Zheng (3): aio: Introduce aio_external_disabled aio: Introduce aio_context_setup aio: Introduce aio-epoll.c aio-posix.c | 188 +++++++++++++++++++++++++++++++++++++++++++++++++++- aio-win32.c | 4 ++ async.c | 13 +++- include/block/aio.h | 24 +++++++ 4 files changed, 226 insertions(+), 3 deletions(-) -- 2.4.3