Revert "io_uring: wait potential ->release() on resurrect"
authorJens Axboe <axboe@kernel.dk>
Thu, 25 Feb 2021 14:37:35 +0000 (07:37 -0700)
committerJens Axboe <axboe@kernel.dk>
Thu, 25 Feb 2021 14:37:35 +0000 (07:37 -0700)
commitcb5e1b81304e089ee3ca948db4d29f71902eb575
tree4493694a4f4bf51a62d27959db8bc9d551b8cba8
parente5547d2c5eb363bfac7632ba789ca834fa829650
Revert "io_uring: wait potential ->release() on resurrect"

This reverts commit 88f171ab7798a1ed0b9e39867ee16f307466e870.

I ran into a case where the ref resurrect now spins, so revert
this change for now until we can further investigate why it's
broken. The bug seems to indicate spinning on the lock itself,
likely there's some ABBA deadlock involved:

[<0>] __percpu_ref_switch_mode+0x45/0x180
[<0>] percpu_ref_resurrect+0x46/0x70
[<0>] io_refs_resurrect+0x25/0xa0
[<0>] __io_uring_register+0x135/0x10c0
[<0>] __x64_sys_io_uring_register+0xc2/0x1a0
[<0>] do_syscall_64+0x42/0x110
[<0>] entry_SYSCALL_64_after_hwframe+0x44/0xa9

Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c