summaryrefslogtreecommitdiff
path: root/io_uring/futex.c
diff options
context:
space:
mode:
authorCaleb Sander Mateos <csander@purestorage.com>2025-03-04 22:48:12 +0300
committerJens Axboe <axboe@kernel.dk>2025-03-05 17:38:55 +0300
commit0d83b8a9f180436a84fbdeb575696b0c3ae0ac0c (patch)
tree63f4ee653c55050eea934f788e228f0607086dbe /io_uring/futex.c
parentfe21a4532ef2a6852c89b352cb8ded0d37b4745c (diff)
downloadlinux-0d83b8a9f180436a84fbdeb575696b0c3ae0ac0c.tar.xz
io_uring: introduce io_cache_free() helper
Add a helper function io_cache_free() that returns an allocation to a io_alloc_cache, falling back on kfree() if the io_alloc_cache is full. This is the inverse of io_cache_alloc(), which takes an allocation from an io_alloc_cache and falls back on kmalloc() if the cache is empty. Convert 4 callers to use the helper. Signed-off-by: Caleb Sander Mateos <csander@purestorage.com> Suggested-by: Li Zetao <lizetao1@huawei.com> Link: https://lore.kernel.org/r/20250304194814.2346705-1-csander@purestorage.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring/futex.c')
-rw-r--r--io_uring/futex.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/io_uring/futex.c b/io_uring/futex.c
index b7581766406c..0ea4820cd8ff 100644
--- a/io_uring/futex.c
+++ b/io_uring/futex.c
@@ -53,12 +53,10 @@ static void __io_futex_complete(struct io_kiocb *req, io_tw_token_t tw)
static void io_futex_complete(struct io_kiocb *req, io_tw_token_t tw)
{
- struct io_futex_data *ifd = req->async_data;
struct io_ring_ctx *ctx = req->ctx;
io_tw_lock(ctx, tw);
- if (!io_alloc_cache_put(&ctx->futex_cache, ifd))
- kfree(ifd);
+ io_cache_free(&ctx->futex_cache, req->async_data);
__io_futex_complete(req, tw);
}