[PATCH v2 0/2] Optimise io_uring completion waiting

From: Pavel Begunkov (Silence)
Date: Sun Sep 22 2019 - 04:09:30 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)

v2: rebase

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

fs/io_uring.c | 35 ++++++++++++------
include/linux/wait_threshold.h | 67 ++++++++++++++++++++++++++++++++++
kernel/sched/Makefile | 2 +-
kernel/sched/wait_threshold.c | 26 +++++++++++++
4 files changed, 118 insertions(+), 12 deletions(-)
create mode 100644 include/linux/wait_threshold.h
create mode 100644 kernel/sched/wait_threshold.c

--
2.23.0