io_uring/rsrc: pass node to io_rsrc_put_work()

Instead of passing rsrc_data and a resource to io_rsrc_put_work() just
forward node, that's all the function needs.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/791e8edd28d78797240b74d34e99facbaad62f3b.1681822823.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Pavel Begunkov 2023-04-18 14:06:39 +01:00 committed by Jens Axboe
parent 4130b49991
commit 29b26c556e

View File

@ -140,14 +140,14 @@ static void io_buffer_unmap(struct io_ring_ctx *ctx, struct io_mapped_ubuf **slo
*slot = NULL;
}
static void io_rsrc_put_work(struct io_rsrc_data *rsrc_data,
struct io_rsrc_put *prsrc)
static void io_rsrc_put_work(struct io_rsrc_node *node)
{
struct io_ring_ctx *ctx = rsrc_data->ctx;
struct io_rsrc_data *data = node->rsrc_data;
struct io_rsrc_put *prsrc = &node->item;
if (prsrc->tag)
io_post_aux_cqe(ctx, prsrc->tag, 0, 0);
rsrc_data->do_put(ctx, prsrc);
io_post_aux_cqe(data->ctx, prsrc->tag, 0, 0);
data->do_put(data->ctx, prsrc);
}
void io_rsrc_node_destroy(struct io_ring_ctx *ctx, struct io_rsrc_node *node)
@ -170,7 +170,7 @@ void io_rsrc_node_ref_zero(struct io_rsrc_node *node)
list_del(&node->node);
if (likely(!node->empty))
io_rsrc_put_work(node->rsrc_data, &node->item);
io_rsrc_put_work(node);
io_rsrc_node_destroy(ctx, node);
}
if (list_empty(&ctx->rsrc_ref_list) && unlikely(ctx->rsrc_quiesce))