/linux/block/ |
H A D | blk-mq.h | 26 struct blk_mq_hw_ctx *hctxs[HCTX_MAX_TYPES]; 50 bool blk_mq_dispatch_rq_list(struct blk_mq_hw_ctx *hctx, struct list_head *, 52 void blk_mq_flush_busy_ctxs(struct blk_mq_hw_ctx *hctx, struct list_head *list); 53 struct request *blk_mq_dequeue_from_ctx(struct blk_mq_hw_ctx *hctx, 80 static inline struct blk_mq_hw_ctx *blk_mq_map_queue_type(struct request_queue *q, in blk_mq_map_queue_type() 106 static inline struct blk_mq_hw_ctx *blk_mq_map_queue(blk_opf_t opf, in blk_mq_map_queue() 121 extern void blk_mq_hctx_kobj_init(struct blk_mq_hw_ctx *hctx); 160 struct blk_mq_hw_ctx *hctx; 173 int blk_mq_tag_update_depth(struct blk_mq_hw_ctx *hctx, 186 struct blk_mq_hw_ctx *hctx) in bt_wait_ptr() [all …]
|
H A D | blk-mq-debugfs.h | 9 struct blk_mq_hw_ctx; 25 struct blk_mq_hw_ctx *hctx); 26 void blk_mq_debugfs_unregister_hctx(struct blk_mq_hw_ctx *hctx); 33 struct blk_mq_hw_ctx *hctx); 34 void blk_mq_debugfs_unregister_sched_hctx(struct blk_mq_hw_ctx *hctx); 44 struct blk_mq_hw_ctx *hctx) in blk_mq_debugfs_register_hctx() 48 static inline void blk_mq_debugfs_unregister_hctx(struct blk_mq_hw_ctx *hctx) in blk_mq_debugfs_unregister_hctx() 69 struct blk_mq_hw_ctx *hctx) in blk_mq_debugfs_register_sched_hctx() 73 static inline void blk_mq_debugfs_unregister_sched_hctx(struct blk_mq_hw_ctx *hctx) in blk_mq_debugfs_unregister_sched_hctx()
|
H A D | blk-mq-sysfs.c | 34 struct blk_mq_hw_ctx *hctx = container_of(kobj, struct blk_mq_hw_ctx, in blk_mq_hw_sysfs_release() 46 ssize_t (*show)(struct blk_mq_hw_ctx *, char *); 53 struct blk_mq_hw_ctx *hctx; in blk_mq_hw_sysfs_show() 58 hctx = container_of(kobj, struct blk_mq_hw_ctx, kobj); in blk_mq_hw_sysfs_show() 70 static ssize_t blk_mq_hw_sysfs_nr_tags_show(struct blk_mq_hw_ctx *hctx, in blk_mq_hw_sysfs_nr_tags_show() 76 static ssize_t blk_mq_hw_sysfs_nr_reserved_tags_show(struct blk_mq_hw_ctx *hctx, in blk_mq_hw_sysfs_nr_reserved_tags_show() 82 static ssize_t blk_mq_hw_sysfs_cpus_show(struct blk_mq_hw_ctx *hctx, char *page) in blk_mq_hw_sysfs_cpus_show() 144 static void blk_mq_unregister_hctx(struct blk_mq_hw_ctx *hctx) in blk_mq_unregister_hctx() 158 static int blk_mq_register_hctx(struct blk_mq_hw_ctx *hctx) in blk_mq_register_hctx() 187 void blk_mq_hctx_kobj_init(struct blk_mq_hw_ctx *hctx) in blk_mq_hctx_kobj_init() [all …]
|
H A D | blk-mq-sched.c | 22 void blk_mq_sched_mark_restart_hctx(struct blk_mq_hw_ctx *hctx) in blk_mq_sched_mark_restart_hctx() 31 void __blk_mq_sched_restart(struct blk_mq_hw_ctx *hctx) in __blk_mq_sched_restart() 58 struct blk_mq_hw_ctx *hctx = in blk_mq_dispatch_hctx_list() 85 static int __blk_mq_do_dispatch_sched(struct blk_mq_hw_ctx *hctx) in __blk_mq_do_dispatch_sched() 176 static int blk_mq_do_dispatch_sched(struct blk_mq_hw_ctx *hctx) in blk_mq_do_dispatch_sched() 194 static struct blk_mq_ctx *blk_mq_next_ctx(struct blk_mq_hw_ctx *hctx, in blk_mq_next_ctx() 213 static int blk_mq_do_dispatch_ctx(struct blk_mq_hw_ctx *hctx) in blk_mq_do_dispatch_ctx() 268 static int __blk_mq_sched_dispatch_requests(struct blk_mq_hw_ctx *hctx) in __blk_mq_sched_dispatch_requests() 317 void blk_mq_sched_dispatch_requests(struct blk_mq_hw_ctx *hctx) in blk_mq_sched_dispatch_requests() 340 struct blk_mq_hw_ctx *hctx; in blk_mq_sched_bio_merge() [all …]
|
H A D | blk-mq-sched.h | 16 void blk_mq_sched_mark_restart_hctx(struct blk_mq_hw_ctx *hctx); 17 void __blk_mq_sched_restart(struct blk_mq_hw_ctx *hctx); 19 void blk_mq_sched_dispatch_requests(struct blk_mq_hw_ctx *hctx); 35 static inline void blk_mq_sched_restart(struct blk_mq_hw_ctx *hctx) in blk_mq_sched_restart() 80 static inline bool blk_mq_sched_has_work(struct blk_mq_hw_ctx *hctx) in blk_mq_sched_has_work() 90 static inline bool blk_mq_sched_needs_restart(struct blk_mq_hw_ctx *hctx) in blk_mq_sched_needs_restart()
|
H A D | blk-mq-debugfs.c | 168 struct blk_mq_hw_ctx *hctx = data; in hctx_state_show() 190 struct blk_mq_hw_ctx *hctx = data; in hctx_flags_show() 300 struct blk_mq_hw_ctx *hctx = m->private; in hctx_dispatch_start() 308 struct blk_mq_hw_ctx *hctx = m->private; in hctx_dispatch_next() 316 struct blk_mq_hw_ctx *hctx = m->private; in hctx_dispatch_stop() 330 struct blk_mq_hw_ctx *hctx; 350 struct blk_mq_hw_ctx *hctx = data; in hctx_busy_show() 372 struct blk_mq_hw_ctx *hctx = data; in hctx_type_show() 381 struct blk_mq_hw_ctx *hctx = data; in hctx_ctx_map_show() 406 struct blk_mq_hw_ctx *hctx = data; in hctx_tags_show() [all …]
|
H A D | elevator.h | 24 struct blk_mq_hw_ctx; 38 int (*init_hctx)(struct blk_mq_hw_ctx *, unsigned int); 39 void (*exit_hctx)(struct blk_mq_hw_ctx *, unsigned int); 40 void (*depth_updated)(struct blk_mq_hw_ctx *); 50 void (*insert_requests)(struct blk_mq_hw_ctx *hctx, struct list_head *list, 52 struct request *(*dispatch_request)(struct blk_mq_hw_ctx *); 53 bool (*has_work)(struct blk_mq_hw_ctx *);
|
H A D | blk-mq.c | 51 static void blk_mq_try_issue_list_directly(struct blk_mq_hw_ctx *hctx, 53 static int blk_hctx_poll(struct request_queue *q, struct blk_mq_hw_ctx *hctx, 60 static bool blk_mq_hctx_has_pending(struct blk_mq_hw_ctx *hctx) in blk_mq_hctx_has_pending() 70 static void blk_mq_hctx_mark_pending(struct blk_mq_hw_ctx *hctx, in blk_mq_hctx_mark_pending() 79 static void blk_mq_hctx_clear_pending(struct blk_mq_hw_ctx *hctx, in blk_mq_hctx_clear_pending() 364 struct blk_mq_hw_ctx *hctx; in blk_mq_wake_waiters() 403 struct blk_mq_hw_ctx *hctx = data->hctx; in blk_mq_rq_ctx_init() 773 struct blk_mq_hw_ctx *hctx = rq->mq_hctx; in __blk_mq_free_request() 1159 static inline void blk_mq_flush_tag_batch(struct blk_mq_hw_ctx *hctx, in blk_mq_flush_tag_batch() 1173 struct blk_mq_hw_ctx *cur_hctx = NULL; in blk_mq_end_request_batch() [all …]
|
H A D | kyber-iosched.c | 443 static void kyber_depth_updated(struct blk_mq_hw_ctx *hctx) in kyber_depth_updated() 452 static int kyber_init_hctx(struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx) in kyber_init_hctx() 507 static void kyber_exit_hctx(struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx) in kyber_exit_hctx() 559 struct blk_mq_hw_ctx *hctx = blk_mq_map_queue(bio->bi_opf, ctx); in kyber_bio_merge() 578 static void kyber_insert_requests(struct blk_mq_hw_ctx *hctx, in kyber_insert_requests() 686 struct blk_mq_hw_ctx *hctx = READ_ONCE(wqe->private); in kyber_domain_wake() 696 struct blk_mq_hw_ctx *hctx) in kyber_get_domain_token() 744 struct blk_mq_hw_ctx *hctx) in kyber_dispatch_cur_domain() 791 static struct request *kyber_dispatch_request(struct blk_mq_hw_ctx *hctx) in kyber_dispatch_request() 837 static bool kyber_has_work(struct blk_mq_hw_ctx *hctx) in kyber_has_work() [all …]
|
H A D | mq-deadline.c | 462 static struct request *dd_dispatch_request(struct blk_mq_hw_ctx *hctx) in dd_dispatch_request() 510 static void dd_depth_updated(struct blk_mq_hw_ctx *hctx) in dd_depth_updated() 522 static int dd_init_hctx(struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx) in dd_init_hctx() 649 static void dd_insert_request(struct blk_mq_hw_ctx *hctx, struct request *rq, in dd_insert_request() 696 static void dd_insert_requests(struct blk_mq_hw_ctx *hctx, in dd_insert_requests() 746 static bool dd_has_work(struct blk_mq_hw_ctx *hctx) in dd_has_work()
|
H A D | blk-flush.c | 341 struct blk_mq_hw_ctx *hctx = rq->mq_hctx; in mq_flush_data_end_io() 533 void blk_mq_hctx_set_fq_lock_class(struct blk_mq_hw_ctx *hctx, in blk_mq_hctx_set_fq_lock_class()
|
H A D | bsg-lib.c | 272 static blk_status_t bsg_queue_rq(struct blk_mq_hw_ctx *hctx, in bsg_queue_rq()
|
H A D | bfq-iosched.c | 5144 static bool bfq_has_work(struct blk_mq_hw_ctx *hctx) in bfq_has_work() 5156 static struct request *__bfq_dispatch_request(struct blk_mq_hw_ctx *hctx) in __bfq_dispatch_request() 5297 static struct request *bfq_dispatch_request(struct blk_mq_hw_ctx *hctx) in bfq_dispatch_request() 6237 static void bfq_insert_request(struct blk_mq_hw_ctx *hctx, struct request *rq, in bfq_insert_request() 6293 static void bfq_insert_requests(struct blk_mq_hw_ctx *hctx, in bfq_insert_requests() 7149 static void bfq_depth_updated(struct blk_mq_hw_ctx *hctx) in bfq_depth_updated() 7158 static int bfq_init_hctx(struct blk_mq_hw_ctx *hctx, unsigned int index) in bfq_init_hctx()
|
/linux/rust/kernel/block/mq/ |
H A D | operations.rs | 73 _hctx: *mut bindings::blk_mq_hw_ctx, in queue_rq_callback() argument 114 unsafe extern "C" fn commit_rqs_callback(_hctx: *mut bindings::blk_mq_hw_ctx) { in commit_rqs_callback() argument 133 _hctx: *mut bindings::blk_mq_hw_ctx, in poll_callback() argument 148 _hctx: *mut bindings::blk_mq_hw_ctx, in init_hctx_callback() argument 162 _hctx: *mut bindings::blk_mq_hw_ctx, in exit_hctx_callback() argument
|
/linux/include/linux/ |
H A D | blk-mq.h | 106 struct blk_mq_hw_ctx *mq_hctx; 304 struct blk_mq_hw_ctx { struct 559 blk_status_t (*queue_rq)(struct blk_mq_hw_ctx *, 569 void (*commit_rqs)(struct blk_mq_hw_ctx *); 609 int (*poll)(struct blk_mq_hw_ctx *, struct io_comp_batch *); 621 int (*init_hctx)(struct blk_mq_hw_ctx *, void *, unsigned int); 625 void (*exit_hctx)(struct blk_mq_hw_ctx *, unsigned int); 909 void blk_mq_stop_hw_queue(struct blk_mq_hw_ctx *hctx); 910 void blk_mq_start_hw_queue(struct blk_mq_hw_ctx *hctx); 913 void blk_mq_start_stopped_hw_queue(struct blk_mq_hw_ctx *hctx, bool async); [all …]
|
/linux/drivers/block/rnbd/ |
H A D | rnbd-clt.h | 105 struct blk_mq_hw_ctx *hctx;
|
/linux/drivers/nvme/target/ |
H A D | loop.c | 133 static blk_status_t nvme_loop_queue_rq(struct blk_mq_hw_ctx *hctx, in nvme_loop_queue_rq() 218 static int nvme_loop_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, in nvme_loop_init_hctx() 238 static int nvme_loop_init_admin_hctx(struct blk_mq_hw_ctx *hctx, void *data, in nvme_loop_init_admin_hctx()
|
/linux/drivers/block/ |
H A D | z2ram.c | 68 static blk_status_t z2_queue_rq(struct blk_mq_hw_ctx *hctx, in z2_queue_rq()
|
/linux/drivers/nvme/host/ |
H A D | apple.c | 733 static blk_status_t apple_nvme_queue_rq(struct blk_mq_hw_ctx *hctx, in apple_nvme_queue_rq() 776 static int apple_nvme_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, in apple_nvme_init_hctx() 938 static int apple_nvme_poll(struct blk_mq_hw_ctx *hctx, in apple_nvme_poll()
|
H A D | tcp.c | 575 static int nvme_tcp_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, in nvme_tcp_init_hctx() 585 static int nvme_tcp_init_admin_hctx(struct blk_mq_hw_ctx *hctx, void *data, in nvme_tcp_init_admin_hctx() 2746 static void nvme_tcp_commit_rqs(struct blk_mq_hw_ctx *hctx) in nvme_tcp_commit_rqs() 2754 static blk_status_t nvme_tcp_queue_rq(struct blk_mq_hw_ctx *hctx, in nvme_tcp_queue_rq() 2785 static int nvme_tcp_poll(struct blk_mq_hw_ctx *hctx, struct io_comp_batch *iob) in nvme_tcp_poll()
|
/linux/drivers/block/null_blk/ |
H A D | main.c | 1578 static int null_poll(struct blk_mq_hw_ctx *hctx, struct io_comp_batch *iob) in null_poll() 1611 struct blk_mq_hw_ctx *hctx = rq->mq_hctx; in null_timeout_rq() 1642 static blk_status_t null_queue_rq(struct blk_mq_hw_ctx *hctx, in null_queue_rq() 1722 static int null_init_hctx(struct blk_mq_hw_ctx *hctx, void *driver_data, in null_init_hctx()
|
/linux/drivers/mmc/core/ |
H A D | queue.c | 229 static blk_status_t mmc_mq_queue_rq(struct blk_mq_hw_ctx *hctx, in mmc_mq_queue_rq()
|
/linux/drivers/md/ |
H A D | dm-rq.c | 477 static blk_status_t dm_mq_queue_rq(struct blk_mq_hw_ctx *hctx, in dm_mq_queue_rq()
|
/linux/drivers/scsi/ |
H A D | scsi_lib.c | 1807 static blk_status_t scsi_queue_rq(struct blk_mq_hw_ctx *hctx, in scsi_queue_rq() 1955 static int scsi_mq_poll(struct blk_mq_hw_ctx *hctx, struct io_comp_batch *iob) in scsi_mq_poll() 1965 static int scsi_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, in scsi_init_hctx() 2039 static void scsi_commit_rqs(struct blk_mq_hw_ctx *hctx) in scsi_commit_rqs()
|
/linux/drivers/mtd/ubi/ |
H A D | block.c | 302 static blk_status_t ubiblock_queue_rq(struct blk_mq_hw_ctx *hctx, in ubiblock_queue_rq()
|