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:38:35 -07:00
2020-08-23 17:36:59 -05:00
2021-11-29 06:41:29 -07:00
2021-10-19 15:18:30 -06:00
2021-11-29 06:41:29 -07:00
2021-11-29 06:38:52 -07:00
2021-08-18 07:21:12 -06:00
2021-10-18 06:17:37 -06:00
2021-10-27 06:54:58 -06:00
2021-03-05 11:32:15 -07:00
2019-11-07 12:28:13 -07:00
2021-11-29 06:38:44 -07:00
2021-11-29 06:38:44 -07:00
2021-10-21 10:49:32 -06:00
2021-10-18 06:17:02 -06:00
2021-11-29 06:38:51 -07:00
2021-10-21 10:49:32 -06:00
2021-12-03 14:51:29 -07:00
2021-11-11 11:52:30 -07:00
2021-11-29 06:38:51 -07:00
2021-11-29 06:41:29 -07:00
2021-10-18 06:17:37 -06:00
2021-10-18 06:17:01 -06:00
2021-11-29 06:38:35 -07:00
2021-06-21 15:03:40 -06:00
2021-06-17 15:51:20 +02:00
2021-09-03 10:08:28 -07:00
2021-11-29 06:41:29 -07:00
2020-10-20 07:08:17 -06:00
2019-01-17 21:21:40 -07:00
2021-12-02 08:20:49 -07:00
2019-06-13 03:00:30 -06:00
2019-05-31 15:12:34 -06:00
2019-05-31 15:12:34 -06:00
2021-11-29 06:41:29 -07:00
2021-11-29 06:41:29 -07:00
2021-08-02 13:37:29 -06:00
2021-12-03 14:51:29 -07:00
2021-10-19 05:55:41 -06:00
2020-03-17 20:55:21 +01:00
2021-12-03 14:51:29 -07:00
2021-12-03 14:51:29 -07:00
2020-12-09 11:41:41 -05:00
2021-02-22 06:33:48 -07:00
2021-06-08 15:12:57 -06:00
2021-10-18 08:50:47 -06:00
2021-10-27 06:58:01 -06:00
2021-11-29 06:38:35 -07:00
2021-11-29 06:38:35 -07:00
2021-11-29 06:38:44 -07:00
2021-11-29 06:38:44 -07:00
2021-10-18 06:17:03 -06:00
2020-07-31 16:29:47 -06:00
2021-10-19 06:13:41 -06:00
2021-06-21 15:03:41 -06:00
2021-11-11 11:52:46 -07:00
2021-12-03 14:51:29 -07:00
2021-10-18 06:17:01 -06:00
2021-11-29 06:41:29 -07:00
2021-09-14 00:22:15 -04:00
2021-08-23 12:55:45 -06:00
2021-11-29 06:38:44 -07:00
2021-10-18 06:17:01 -06:00
2021-12-03 14:51:29 -07:00
2021-11-29 06:38:44 -07:00
2021-10-18 06:17:02 -06:00
2021-11-29 06:35:21 -07:00
2021-11-15 14:28:59 -07:00
2021-10-18 06:17:35 -06:00
2021-10-18 06:17:35 -06:00
2021-10-18 06:17:03 -06:00
2021-11-29 06:34:50 -07:00
2021-10-18 06:17:03 -06:00
2020-03-12 08:00:10 -06:00
2020-03-12 08:00:10 -06:00
2021-10-18 06:17:02 -06:00