]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit67dacbceeebf87776091f3e8e5285078fa0025b0
tree4493694a4f4bf51a62d27959db8bc9d551b8cba8
parent0c90801442585242641e8860a1da430b1a5eba78
Revert "io_uring: wait potential ->release() on resurrect"

This reverts commit d9ae884e48cc77f47c31b8799b39fc8173a2b7d8.

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