[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1569139018.git.asml.silence@gmail.com>
Date: Sun, 22 Sep 2019 11:08:49 +0300
From: "Pavel Begunkov (Silence)" <asml.silence@...il.com>
To: Jens Axboe <axboe@...nel.dk>, Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
linux-block@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: Pavel Begunkov <asml.silence@...il.com>
Subject: [PATCH v2 0/2] Optimise io_uring completion waiting
From: Pavel Begunkov <asml.silence@...il.com>
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
Powered by blists - more mailing lists