public inbox for [email protected]
 help / color / mirror / Atom feed
* [PATCH for-next 0/7] reworking io_uring's poll and internal poll
@ 2021-12-15 22:08 Pavel Begunkov
  2021-12-15 22:08 ` [PATCH 1/7] io_uring: remove double poll on poll update Pavel Begunkov
                   ` (8 more replies)
  0 siblings, 9 replies; 11+ messages in thread
From: Pavel Begunkov @ 2021-12-15 22:08 UTC (permalink / raw)
  To: io-uring; +Cc: asml.silence

That's mostly a bug fixing set, some of the problems are listed in 5/7.
The main part is 5/7, which is bulky but at this point it's hard (if
possible) to do anything without breaking a dozen of things on the
way, so I consider it necessary evil.
It also addresses one of two problems brought up by Eric Biggers
for aio, specifically poll rewait. There is no poll-free support yet.

As a side effect it also changes performance characteristics, adding
extra atomics but removing io_kiocb referencing, improving rewait, etc.
There are also drafts on optimising locking needed for hashing, those
will go later.

Performance measurements is a TODO, but the main goal lies in
correctness and maintainability.

Pavel Begunkov (7):
  io_uring: remove double poll on poll update
  io_uring: refactor poll update
  io_uring: move common poll bits
  io_uring: kill poll linking optimisation
  io_uring: poll rework
  io_uring: single shot poll removal optimisation
  io_uring: use completion batching for poll rem/upd

 fs/io_uring.c | 649 ++++++++++++++++++++++----------------------------
 1 file changed, 287 insertions(+), 362 deletions(-)

-- 
2.34.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-12-28 17:51 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-15 22:08 [PATCH for-next 0/7] reworking io_uring's poll and internal poll Pavel Begunkov
2021-12-15 22:08 ` [PATCH 1/7] io_uring: remove double poll on poll update Pavel Begunkov
2021-12-15 22:08 ` [PATCH 2/7] io_uring: refactor " Pavel Begunkov
2021-12-15 22:08 ` [PATCH 3/7] io_uring: move common poll bits Pavel Begunkov
2021-12-15 22:08 ` [PATCH 4/7] io_uring: kill poll linking optimisation Pavel Begunkov
2021-12-15 22:08 ` [PATCH 5/7] io_uring: poll rework Pavel Begunkov
2021-12-15 22:08 ` [PATCH 6/7] io_uring: single shot poll removal optimisation Pavel Begunkov
2021-12-15 22:08 ` [PATCH 7/7] io_uring: use completion batching for poll rem/upd Pavel Begunkov
2021-12-17 15:02 ` [PATCH for-next 0/7] reworking io_uring's poll and internal poll Hao Xu
2021-12-17 19:40   ` Pavel Begunkov
2021-12-28 17:51 ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox