1st is a non-related code clean 2nd ~ 4th are fixes. 5th is the the main logic, I tested it with an echo-server, both in single-shot mode and multishot mode poll, not much difference compared to code before with regard to req/s. But that may be resulted from my poor network knowledge, feel free to test it and leave comments. Hao Xu (5): io_uring: return boolean value for io_alloc_async_data io_uring: code clean for io_poll_complete() io_uring: fix race between poll completion and cancel_hash insertion io_uring: fix lacking of EPOLLONESHOT io_uring: leverage completion cache for poll requests fs/io_uring.c | 70 ++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 53 insertions(+), 17 deletions(-) -- 2.24.4