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>
1 file changed