io_uring/rsrc: pass node to io_rsrc_put_work()
authorPavel Begunkov <asml.silence@gmail.com>
Tue, 18 Apr 2023 13:06:39 +0000 (14:06 +0100)
committerJens Axboe <axboe@kernel.dk>
Wed, 19 Apr 2023 01:38:26 +0000 (19:38 -0600)
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>
io_uring/rsrc.c

index d1167b0643b74d01e279c2cf379c327c8911be30..9378691d49f553f3b853baa8ec2381ed0da3b73f 100644 (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))