From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39192) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zs0xb-0003Bo-NA for qemu-devel@nongnu.org; Fri, 30 Oct 2015 00:06:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zs0xb-0007RW-0O for qemu-devel@nongnu.org; Fri, 30 Oct 2015 00:06:39 -0400 From: Fam Zheng Date: Fri, 30 Oct 2015 12:06:26 +0800 Message-Id: <1446177989-6702-1-git-send-email-famz@redhat.com> Subject: [Qemu-devel] [PATCH v4 0/3] aio: Use epoll in aio_poll() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , pbonzini@redhat.com, qemu-block@nongnu.org, Stefan Hajnoczi 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