[RFC PATCH 0/2] Optimise io_uring completion waiting

From: Pavel Begunkov (Silence)
Date: Fri Sep 13 2019 - 18:28:19 EST


From: Pavel Begunkov <asml.silence@xxxxxxxxx>

There could be a lot of overhead within generic wait_event_*() used for
waiting for large number of completions. The patchset removes much of
it by using custom wait event (wait_threshold).

Synthetic test showed ~40% performance boost. (see patch 2)

Pavel Begunkov (2):
sched/wait: Add wait_threshold
io_uring: Optimise cq waiting with wait_threshold

fs/io_uring.c | 21 ++++++-----
include/linux/wait_threshold.h | 64 ++++++++++++++++++++++++++++++++++
kernel/sched/Makefile | 2 +-
kernel/sched/wait_threshold.c | 26 ++++++++++++++
4 files changed, 103 insertions(+), 10 deletions(-)
create mode 100644 include/linux/wait_threshold.h
create mode 100644 kernel/sched/wait_threshold.c

--
2.22.0