]> 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)
commit23e8de8cd25de9cb6adb21b3244daf1a441a8915
tree4493694a4f4bf51a62d27959db8bc9d551b8cba8
parentc12e199bfe6cd084e6629a9724b6fb4d4696c061
Revert "io_uring: wait potential ->release() on resurrect"

This reverts commit cbd9d553f284cca4bb1d4e20b3b9dcec1b492e93.

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