OSDN Git Service

aio-posix: add io_uring fd monitoring implementation
authorStefan Hajnoczi <stefanha@redhat.com>
Thu, 5 Mar 2020 17:08:04 +0000 (17:08 +0000)
committerStefan Hajnoczi <stefanha@redhat.com>
Mon, 9 Mar 2020 16:41:31 +0000 (16:41 +0000)
commit73fd282e7b6dd4e4ea1c3bbb3d302c8db51e4ccf
tree1338ebeba78a352f20904f9118f694c459599179
parentb321051cf48ccc2d3d832af111d688f2282f089b
aio-posix: add io_uring fd monitoring implementation

The recent Linux io_uring API has several advantages over ppoll(2) and
epoll(2).  Details are given in the source code.

Add an io_uring implementation and make it the default on Linux.
Performance is the same as with epoll(7) but later patches add
optimizations that take advantage of io_uring.

It is necessary to change how aio_set_fd_handler() deals with deleting
AioHandlers since removing monitored file descriptors is asynchronous in
io_uring.  fdmon_io_uring_remove() marks the AioHandler deleted and
aio_set_fd_handler() will let it handle deletion in that case.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Link: https://lore.kernel.org/r/20200305170806.1313245-6-stefanha@redhat.com
Message-Id: <20200305170806.1313245-6-stefanha@redhat.com>
configure
include/block/aio.h
util/Makefile.objs
util/aio-posix.c
util/aio-posix.h
util/fdmon-io_uring.c [new file with mode: 0644]