]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit - fs/io_uring.c
io_uring/io-wq: return 2-step work swap scheme
authorPavel Begunkov <asml.silence@gmail.com>
Thu, 4 Feb 2021 13:52:08 +0000 (13:52 +0000)
committerJens Axboe <axboe@kernel.dk>
Thu, 4 Feb 2021 15:05:46 +0000 (08:05 -0700)
commit5280f7e530f71ba85baf90169393196976ad0e52
treeefdf0f85b6f1f0b3f167091566701131de8afbf5
parentea64ec02b31d5b05ae94ac4d57e38f8a02117c76
io_uring/io-wq: return 2-step work swap scheme

Saving one lock/unlock for io-wq is not super important, but adds some
ugliness in the code. More important, atomic decs not turning it to zero
for some archs won't give the right ordering/barriers so the
io_steal_work() may pretty easily get subtly and completely broken.

Return back 2-step io-wq work exchange and clean it up.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io-wq.c
fs/io-wq.h
fs/io_uring.c