diff options
| author | Pavel Begunkov <asml.silence@gmail.com> | 2025-10-16 14:23:17 +0100 |
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2025-10-20 10:37:56 -0600 |
| commit | 12aced0a551e18f2162091e388c3a36ea75ccb13 (patch) | |
| tree | dc3058de5b98ad3bd1b057cab7cbaf76d1dec6f8 | |
| parent | ab673c1bcaf20ac70352eeb6bf5b828462676693 (diff) | |
io_uring: deduplicate array_size in io_allocate_scq_urings
A minor cleanup precomputing the sq size first instead of branching
array_size() in io_allocate_scq_urings().
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Reviewed-by: Gabriel Krisman Bertazi <krisman@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
| -rw-r--r-- | io_uring/io_uring.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index c397118da85e..31602e0e5f37 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -3610,6 +3610,7 @@ static __cold int io_allocate_scq_urings(struct io_ring_ctx *ctx, struct io_uring_region_desc rd; struct io_rings *rings; size_t size, sq_array_offset; + size_t sqe_size; int ret; /* make sure these are sane, as we already accounted them */ @@ -3639,10 +3640,11 @@ static __cold int io_allocate_scq_urings(struct io_ring_ctx *ctx, rings->sq_ring_entries = p->sq_entries; rings->cq_ring_entries = p->cq_entries; + sqe_size = sizeof(struct io_uring_sqe); if (p->flags & IORING_SETUP_SQE128) - size = array_size(2 * sizeof(struct io_uring_sqe), p->sq_entries); - else - size = array_size(sizeof(struct io_uring_sqe), p->sq_entries); + sqe_size *= 2; + + size = array_size(sqe_size, p->sq_entries); if (size == SIZE_MAX) { io_rings_free(ctx); return -EOVERFLOW; |
