incorporate new io_uring features
Depend on liburing (unreleased) 2.2. Incorporated new features:
-
IORING_REGISTER_RING_FDS
(Linux 5.18), preventing thefget(ring_fd)
overhead for eachio_uring_enter
call. -
TODO:
IORING_OP_MSG_RING
(Linux 5.18), simplifing the IO-based sleep strategy code. See: https://gitlab.cs.fau.de/aj46ezos/emper/-/commits/io-sleep-strategies-msg-ring -
IOSQE_CQE_SKIP_SUCCESS
(Linux 5.17), removes overhead of generating and reaping cqes for forgotten futures
Commits:
- Use newer liburing (2.2). TODO: wait for liburing release and use wrapdb downstream again.
- Use IORING_REGISTER_RING_FDS for all worker
IoContexts
. - Fix Linux kernel comaprision.
- Set
IOSQE_CQE_SKIP_SUCCESS
for forgotten Futures. - Warn about failing forgotten futures.
Edited by Maxim Onciul