Message ID | 20220715174501.25216-1-mkoutny@suse.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | io_uring: Don't require reinitable percpu_ref | expand |
On Fri, Jul 15, 2022 at 07:45:01PM +0200, Michal Koutny wrote: > 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> Thanks!
On 7/15/22 11:45 AM, Michal Koutn? wrote: > 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. Thanks, applied manually for 5.20 (new file location).
diff --git a/fs/io_uring.c b/fs/io_uring.c index a01ea49f3017..563f2266c674 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -1911,7 +1911,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;
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> --- fs/io_uring.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)