Files
linux/block
Ming Lei 2a904d0085 blk-mq: remove hctx_lock and hctx_unlock
Remove hctx_lock and hctx_unlock, and add one helper of
blk_mq_run_dispatch_ops() to run code block defined in dispatch_ops
with rcu/srcu read held.

Compared with hctx_lock()/hctx_unlock():

1) remove 2 branch to 1, so we just need to check
(hctx->flags & BLK_MQ_F_BLOCKING) once when running one dispatch_ops

2) srcu_idx needn't to be touched in case of non-blocking

3) might_sleep_if() can be moved to the blocking branch

Also put the added blk_mq_run_dispatch_ops() in private header, so that
the following patch can use it out of blk-mq.c.

Signed-off-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20211203131534.3668411-2-ming.lei@redhat.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2021-12-03 14:51:29 -07:00
..
2021-11-29 06:41:29 -07:00
2021-08-18 07:21:12 -06:00
2021-11-29 06:41:29 -07:00
2021-06-17 15:51:20 +02:00
2020-03-17 20:55:21 +01:00
2021-09-14 00:22:15 -04:00
2021-10-18 06:17:01 -06:00
2021-10-18 06:17:35 -06:00
2021-11-29 06:34:50 -07:00