All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH for-next 0/8] another round of rsrc refactoring
@ 2023-04-18 13:06 Pavel Begunkov
  2023-04-18 13:06 ` [PATCH for-next 1/8] io_uring/rsrc: remove unused io_rsrc_node::llist Pavel Begunkov
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Pavel Begunkov @ 2023-04-18 13:06 UTC (permalink / raw)
  To: io-uring; +Cc: Jens Axboe, asml.silence

Further simplify rsrc infrastructure, and make it a little bit
faster.

The main part is Patch 3, which establishes 1:1 relation between
struct io_rsrc_put and nodes, which removes io_rsrc_node_switch() /
io_rsrc_node_switch_start() and all the additional complexity with
pre allocations. Note, it doesn't change any guarantees as
io_queue_rsrc_removal() was doing allocations anyway and could
always fail.

Pavel Begunkov (8):
  io_uring/rsrc: remove unused io_rsrc_node::llist
  io_uring/rsrc: infer node from ctx on io_queue_rsrc_removal
  io_uring/rsrc: merge nodes and io_rsrc_put
  io_uring/rsrc: add empty flag in rsrc_node
  io_uring/rsrc: inline io_rsrc_put_work()
  io_uring/rsrc: pass node to io_rsrc_put_work()
  io_uring/rsrc: devirtualise rsrc put callbacks
  io_uring/rsrc: disassociate nodes and rsrc_data

 io_uring/filetable.c |  14 +----
 io_uring/rsrc.c      | 146 ++++++++++++++++---------------------------
 io_uring/rsrc.h      |  32 ++--------
 3 files changed, 61 insertions(+), 131 deletions(-)

-- 
2.40.0


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

end of thread, other threads:[~2023-04-19  1:39 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-18 13:06 [PATCH for-next 0/8] another round of rsrc refactoring Pavel Begunkov
2023-04-18 13:06 ` [PATCH for-next 1/8] io_uring/rsrc: remove unused io_rsrc_node::llist Pavel Begunkov
2023-04-18 13:06 ` [PATCH for-next 2/8] io_uring/rsrc: infer node from ctx on io_queue_rsrc_removal Pavel Begunkov
2023-04-18 13:06 ` [PATCH for-next 3/8] io_uring/rsrc: merge nodes and io_rsrc_put Pavel Begunkov
2023-04-18 13:06 ` [PATCH for-next 4/8] io_uring/rsrc: add empty flag in rsrc_node Pavel Begunkov
2023-04-18 13:06 ` [PATCH for-next 5/8] io_uring/rsrc: inline io_rsrc_put_work() Pavel Begunkov
2023-04-18 13:06 ` [PATCH for-next 6/8] io_uring/rsrc: pass node to io_rsrc_put_work() Pavel Begunkov
2023-04-18 13:06 ` [PATCH for-next 7/8] io_uring/rsrc: devirtualise rsrc put callbacks Pavel Begunkov
2023-04-18 13:06 ` [PATCH for-next 8/8] io_uring/rsrc: disassociate nodes and rsrc_data Pavel Begunkov
2023-04-19  1:39 ` [PATCH for-next 0/8] another round of rsrc refactoring Jens Axboe

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.