io_uring: split task_work into IRQ and non-IRQ safe variants io_uring-irq
authorJens Axboe <axboe@kernel.dk>
Wed, 11 Aug 2021 19:19:42 +0000 (13:19 -0600)
committerJens Axboe <axboe@kernel.dk>
Wed, 11 Aug 2021 19:37:19 +0000 (13:37 -0600)
commitb067573fdd7715fc565eb9782a605860624a7d6e
treed639bcd146bc36d98309b3ef72ec3a782b8d0b51
parent2bf4e501432bc4564520478033c3488d79a77d2d
io_uring: split task_work into IRQ and non-IRQ safe variants

Now that the completion lock is no longer IRQ disabling, we can get
rid of that on the task_work side too. Provide two methods of adding
task_work, one that is IRQ safe and one that is not. The IRQ safe
variant is only used for bdev/reg file completions.

Work in progress, don't like the branching on the locking, but also
don't wnat to do too much duplicated code.

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