All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 5.13 0/7] ctx wide rsrc nodes
@ 2021-03-23 14:13 Pavel Begunkov
  2021-03-23 14:13 ` [PATCH 1/7] io_uring: name rsrc bits consistently Pavel Begunkov
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Pavel Begunkov @ 2021-03-23 14:13 UTC (permalink / raw)
  To: Jens Axboe, io-uring

The main idea here is to make make rsrc nodes (aka ref nodes) to be per
ctx rather than per rsrc_data, that is a requirement for having multiple
resource types. All the meat to it in 7/7.

Also rsrc API is complicated and too misuse. 1-6 may be considered to
be preps but also together with 7/7 gradually make the API simpler and
so more resilient.

The only nuisance is additional handling in ctx_free in 7/7, and added
for that struct io_rsrc_node::completion, because now we always retain a
valid node in ctx after first files_register, and so we need to kill it
in the end. Ideas how to make it better?

Pavel Begunkov (7):
  io_uring: name rsrc bits consistently
  io_uring: simplify io_rsrc_node_ref_zero
  io_uring: use rsrc prealloc infra for files reg
  io_uring: encapsulate rsrc node manipulations
  io_uring: move rsrc_put callback into io_rsrc_data
  io_uring: refactor io_queue_rsrc_removal()
  io_uring: ctx-wide rsrc nodes

 fs/io_uring.c | 253 +++++++++++++++++++++++---------------------------
 1 file changed, 115 insertions(+), 138 deletions(-)

-- 
2.24.0


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

end of thread, other threads:[~2021-03-23 14:18 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-23 14:13 [PATCH 5.13 0/7] ctx wide rsrc nodes Pavel Begunkov
2021-03-23 14:13 ` [PATCH 1/7] io_uring: name rsrc bits consistently Pavel Begunkov
2021-03-23 14:13 ` [PATCH 2/7] io_uring: simplify io_rsrc_node_ref_zero Pavel Begunkov
2021-03-23 14:13 ` [PATCH 3/7] io_uring: use rsrc prealloc infra for files reg Pavel Begunkov
2021-03-23 14:13 ` [PATCH 4/7] io_uring: encapsulate rsrc node manipulations Pavel Begunkov
2021-03-23 14:13 ` [PATCH 5/7] io_uring: move rsrc_put callback into io_rsrc_data Pavel Begunkov
2021-03-23 14:13 ` [PATCH 6/7] io_uring: refactor io_queue_rsrc_removal() Pavel Begunkov
2021-03-23 14:13 ` [PATCH 7/7] io_uring: ctx-wide rsrc nodes Pavel Begunkov

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.