linux-stable/drivers/block
Ming Lei 0edb3696c1 ublk_drv: support to complete io command via task_work_add
Use task_work_add if it is available, since task_work_add can bring
up better performance, especially batching signaling ->ubq_daemon can
be done.

It is observed that task_work_add() can boost iops by +4% on random
4k io test. Also except for completing io command, all other code
paths are same with completing io command via
io_uring_cmd_complete_in_task.

Meantime add one flag of UBLK_F_URING_CMD_COMP_IN_TASK for comparing
the mode easily.

Signed-off-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20220713140711.97356-3-ming.lei@redhat.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2022-07-14 07:15:48 -06:00
..
aoe block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
drbd block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
mtip32xx blk-mq: Drop 'reserved' arg of busy_tag_iter_fn 2022-07-06 06:33:53 -06:00
null_blk block: move zone related fields to struct gendisk 2022-07-06 06:46:26 -06:00
paride block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
rnbd block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
xen-blkback xen-blkback: use bdev_discard_alignment 2022-05-04 05:24:40 -06:00
zram block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
Kconfig ublk_drv: add io_uring based userspace block driver 2022-07-14 07:15:28 -06:00
Makefile ublk_drv: add io_uring based userspace block driver 2022-07-14 07:15:28 -06:00
amiflop.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
ataflop.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
brd.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
floppy.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
loop.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
n64cart.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
nbd.c blk-mq: Drop 'reserved' arg of busy_tag_iter_fn 2022-07-06 06:33:53 -06:00
pktcdvd.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
ps3disk.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
ps3vram.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
rbd.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
rbd_types.h libceph, rbd: replace zero-length array with flexible-array 2020-06-01 13:22:53 +02:00
sunvdc.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
swim.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
swim3.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
swim_asm.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sx8.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
ublk_drv.c ublk_drv: support to complete io command via task_work_add 2022-07-14 07:15:48 -06:00
virtio_blk.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
xen-blkfront.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
z2ram.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00