io_uring: Don't require reinitable percpu_ref
authorMichal Koutný <mkoutny@suse.com>
Fri, 15 Jul 2022 17:45:01 +0000 (19:45 +0200)
committerJens Axboe <axboe@kernel.dk>
Mon, 25 Jul 2022 00:39:18 +0000 (18:39 -0600)
The commit 8bb649ee1da3 ("io_uring: remove ring quiesce for
io_uring_register") removed the worklow relying on reinit/resurrection
of the percpu_ref, hence, initialization with that requested is a relic.

This is based on code review, this causes no real bug (and theoretically
can't). Technically it's a revert of commit 214828962dea ("io_uring:
initialize percpu refcounters using PERCU_REF_ALLOW_REINIT") but since
the flag omission is now justified, I'm not making this a revert.

Fixes: 8bb649ee1da3 ("io_uring: remove ring quiesce for io_uring_register")
Signed-off-by: Michal Koutný <mkoutny@suse.com>
Acked-by: Roman Gushchin <roman.gushchin@linux.dev>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/io_uring.c

index f697ca4..624535c 100644 (file)
@@ -289,7 +289,7 @@ static __cold struct io_ring_ctx *io_ring_ctx_alloc(struct io_uring_params *p)
        ctx->dummy_ubuf->ubuf = -1UL;
 
        if (percpu_ref_init(&ctx->refs, io_ring_ctx_ref_free,
-                           PERCPU_REF_ALLOW_REINIT, GFP_KERNEL))
+                           0, GFP_KERNEL))
                goto err;
 
        ctx->flags = p->flags;