diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2022-10-16 23:30:50 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-10-17 02:08:42 +0300 |
commit | 34f0bc427e94065e7f828e70690f8fe1e01b3a9d (patch) | |
tree | e512de4abc48fd734453483970cfdb3787c1b9c8 /io_uring | |
parent | 4d5059512d283dab7372d282c2fbd43c7f5a2456 (diff) | |
download | linux-34f0bc427e94065e7f828e70690f8fe1e01b3a9d.tar.xz |
io_uring: reuse io_alloc_req()
Don't duplicate io_alloc_req() in io_req_caches_free() but reuse the
helper.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/6005fc88274864a49fc3096c22d8bdd605cf8576.1665891182.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring')
-rw-r--r-- | io_uring/io_uring.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index 6e50f548de1a..62be51fbf39c 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -2560,18 +2560,14 @@ static int io_eventfd_unregister(struct io_ring_ctx *ctx) static void io_req_caches_free(struct io_ring_ctx *ctx) { - struct io_submit_state *state = &ctx->submit_state; int nr = 0; mutex_lock(&ctx->uring_lock); - io_flush_cached_locked_reqs(ctx, state); + io_flush_cached_locked_reqs(ctx, &ctx->submit_state); while (!io_req_cache_empty(ctx)) { - struct io_wq_work_node *node; - struct io_kiocb *req; + struct io_kiocb *req = io_alloc_req(ctx); - node = wq_stack_extract(&state->free_list); - req = container_of(node, struct io_kiocb, comp_list); kmem_cache_free(req_cachep, req); nr++; } |