From: Pavel Begunkov <asml.silence@gmail.com>
To: Jens Axboe <axboe@kernel.dk>,
io-uring@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH RFC 0/9] nxt propagation + locking optimisation
Date: Sun, 1 Mar 2020 19:18:17 +0300 [thread overview]
Message-ID: <cover.1583078091.git.asml.silence@gmail.com> (raw)
There are several independent parts in the patchset, but bundled
to make a point.
1-2: random stuff, that implicitly used later.
3-5: restore @nxt propagation
6-8: optimise locking in io_worker_handle_work()
9: optimise io_uring refcounting
The next propagation bits are done similarly as it was before, but
- nxt stealing is now at top-level, but not hidden in handlers
- ensure there is no with REQ_F_DONT_STEAL_NEXT
[6-8] is the reason to dismiss the previous @nxt propagation appoach,
I didn't found a good way to do the same. Even though it looked
clearer and without new flag.
Performance tested it with link-of-nops + IOSQE_ASYNC:
link size: 100
orig: 501 (ns per nop)
0-8: 446
0-9: 416
link size: 10
orig: 826
0-8: 776
0-9: 756
Pavel Begunkov (9):
io_uring: clean up io_close
io-wq: fix IO_WQ_WORK_NO_CANCEL cancellation
io_uring: make submission ref putting consistent
io_uring: remove @nxt from handlers
io_uring: get next req on subm ref drop
io-wq: shuffle io_worker_handle_work() code
io-wq: io_worker_handle_work() optimise locking
io-wq: optimise double lock for io_get_next_work()
io_uring: pass submission ref to async
fs/io-wq.c | 162 ++++++++++++----------
fs/io_uring.c | 366 ++++++++++++++++++++++----------------------------
2 files changed, 258 insertions(+), 270 deletions(-)
--
2.24.0
next reply other threads:[~2020-03-01 16:19 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-01 16:18 Pavel Begunkov [this message]
2020-03-01 16:18 ` [PATCH 1/9] io_uring: clean up io_close Pavel Begunkov
2020-03-01 16:18 ` [PATCH 2/9] io-wq: fix IO_WQ_WORK_NO_CANCEL cancellation Pavel Begunkov
2020-03-02 14:24 ` Jens Axboe
2020-03-01 16:18 ` [PATCH 3/9] io_uring: make submission ref putting consistent Pavel Begunkov
2020-03-01 16:18 ` [PATCH 4/9] io_uring: remove @nxt from handlers Pavel Begunkov
2020-03-01 16:18 ` [PATCH 5/9] io_uring: get next req on subm ref drop Pavel Begunkov
2020-03-01 21:31 ` Pavel Begunkov
2020-03-01 16:18 ` [PATCH 6/9] io-wq: shuffle io_worker_handle_work() code Pavel Begunkov
2020-03-01 16:18 ` [PATCH 7/9] io-wq: io_worker_handle_work() optimise locking Pavel Begunkov
2020-03-01 16:18 ` [PATCH 8/9] io-wq: optimise double lock for io_get_next_work() Pavel Begunkov
2020-03-01 16:18 ` [PATCH 9/9] io_uring: pass submission ref to async Pavel Begunkov
2020-03-01 21:39 ` Pavel Begunkov
2020-03-02 15:08 ` Pavel Begunkov
2020-03-02 15:12 ` Jens Axboe
2020-03-02 15:26 ` Pavel Begunkov
2020-03-01 16:23 ` [PATCH RFC 0/9] nxt propagation + locking optimisation Pavel Begunkov
2020-03-01 16:41 ` Pavel Begunkov
2020-03-01 19:14 ` Jens Axboe
2020-03-01 20:33 ` Pavel Begunkov
2020-03-02 14:39 ` Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1583078091.git.asml.silence@gmail.com \
--to=asml.silence@gmail.com \
--cc=axboe@kernel.dk \
--cc=io-uring@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.