| /Linux-v5.4/block/ | 
| D | blk-mq.h | 26 	struct blk_mq_hw_ctx 	*hctxs[HCTX_MAX_TYPES];46 void blk_mq_flush_busy_ctxs(struct blk_mq_hw_ctx *hctx, struct list_head *list);
 48 struct request *blk_mq_dequeue_from_ctx(struct blk_mq_hw_ctx *hctx,
 67 void __blk_mq_insert_request(struct blk_mq_hw_ctx *hctx, struct request *rq,
 70 void blk_mq_insert_requests(struct blk_mq_hw_ctx *hctx, struct blk_mq_ctx *ctx,
 75 void blk_mq_try_issue_list_directly(struct blk_mq_hw_ctx *hctx,
 89 static inline struct blk_mq_hw_ctx *blk_mq_map_queue_type(struct request_queue *q,  in blk_mq_map_queue_type()
 102 static inline struct blk_mq_hw_ctx *blk_mq_map_queue(struct request_queue *q,  in blk_mq_map_queue()
 127 extern void blk_mq_hctx_kobj_init(struct blk_mq_hw_ctx *hctx);
 166 	struct blk_mq_hw_ctx *hctx;
 [all …]
 
 | 
| D | blk-mq-tag.h | 29 extern void blk_mq_put_tag(struct blk_mq_hw_ctx *hctx, struct blk_mq_tags *tags,32 extern int blk_mq_tag_update_depth(struct blk_mq_hw_ctx *hctx,
 40 						 struct blk_mq_hw_ctx *hctx)  in bt_wait_ptr()
 53 extern bool __blk_mq_tag_busy(struct blk_mq_hw_ctx *);
 54 extern void __blk_mq_tag_idle(struct blk_mq_hw_ctx *);
 56 static inline bool blk_mq_tag_busy(struct blk_mq_hw_ctx *hctx)  in blk_mq_tag_busy()
 64 static inline void blk_mq_tag_idle(struct blk_mq_hw_ctx *hctx)  in blk_mq_tag_idle()
 78 static inline void blk_mq_tag_set_rq(struct blk_mq_hw_ctx *hctx,  in blk_mq_tag_set_rq()
 
 | 
| D | blk-mq-debugfs.h | 24 				  struct blk_mq_hw_ctx *hctx);25 void blk_mq_debugfs_unregister_hctx(struct blk_mq_hw_ctx *hctx);
 32 				       struct blk_mq_hw_ctx *hctx);
 33 void blk_mq_debugfs_unregister_sched_hctx(struct blk_mq_hw_ctx *hctx);
 48 						struct blk_mq_hw_ctx *hctx)  in blk_mq_debugfs_register_hctx()
 52 static inline void blk_mq_debugfs_unregister_hctx(struct blk_mq_hw_ctx *hctx)  in blk_mq_debugfs_unregister_hctx()
 73 						      struct blk_mq_hw_ctx *hctx)  in blk_mq_debugfs_register_sched_hctx()
 77 static inline void blk_mq_debugfs_unregister_sched_hctx(struct blk_mq_hw_ctx *hctx)  in blk_mq_debugfs_unregister_sched_hctx()
 
 | 
| D | blk-mq-sysfs.c | 36 	struct blk_mq_hw_ctx *hctx = container_of(kobj, struct blk_mq_hw_ctx,  in blk_mq_hw_sysfs_release()58 	ssize_t (*show)(struct blk_mq_hw_ctx *, char *);
 59 	ssize_t (*store)(struct blk_mq_hw_ctx *, const char *, size_t);
 112 	struct blk_mq_hw_ctx *hctx;  in blk_mq_hw_sysfs_show()
 117 	hctx = container_of(kobj, struct blk_mq_hw_ctx, kobj);  in blk_mq_hw_sysfs_show()
 136 	struct blk_mq_hw_ctx *hctx;  in blk_mq_hw_sysfs_store()
 141 	hctx = container_of(kobj, struct blk_mq_hw_ctx, kobj);  in blk_mq_hw_sysfs_store()
 155 static ssize_t blk_mq_hw_sysfs_nr_tags_show(struct blk_mq_hw_ctx *hctx,  in blk_mq_hw_sysfs_nr_tags_show()
 161 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()
 167 static ssize_t blk_mq_hw_sysfs_cpus_show(struct blk_mq_hw_ctx *hctx, char *page)  in blk_mq_hw_sysfs_cpus_show()
 [all …]
 
 | 
| D | blk-mq-sched.c | 21 				 void (*exit)(struct blk_mq_hw_ctx *))  in blk_mq_sched_free_hctx_data()  argument23 	struct blk_mq_hw_ctx *hctx;  in blk_mq_sched_free_hctx_data()
 65 void blk_mq_sched_mark_restart_hctx(struct blk_mq_hw_ctx *hctx)  in blk_mq_sched_mark_restart_hctx()
 74 void blk_mq_sched_restart(struct blk_mq_hw_ctx *hctx)  in blk_mq_sched_restart()
 88 static void blk_mq_do_dispatch_sched(struct blk_mq_hw_ctx *hctx)  in blk_mq_do_dispatch_sched()
 118 static struct blk_mq_ctx *blk_mq_next_ctx(struct blk_mq_hw_ctx *hctx,  in blk_mq_next_ctx()
 134 static void blk_mq_do_dispatch_ctx(struct blk_mq_hw_ctx *hctx)  in blk_mq_do_dispatch_ctx()
 170 void blk_mq_sched_dispatch_requests(struct blk_mq_hw_ctx *hctx)  in blk_mq_sched_dispatch_requests()
 308 				 struct blk_mq_hw_ctx *hctx,  in blk_mq_attempt_merge()
 329 	struct blk_mq_hw_ctx *hctx = blk_mq_map_queue(q, bio->bi_opf, ctx);  in __blk_mq_sched_bio_merge()
 [all …]
 
 | 
| D | blk-mq-sched.h | 9 				 void (*exit)(struct blk_mq_hw_ctx *));19 void blk_mq_sched_mark_restart_hctx(struct blk_mq_hw_ctx *hctx);
 20 void blk_mq_sched_restart(struct blk_mq_hw_ctx *hctx);
 24 void blk_mq_sched_insert_requests(struct blk_mq_hw_ctx *hctx,
 28 void blk_mq_sched_dispatch_requests(struct blk_mq_hw_ctx *hctx);
 73 static inline bool blk_mq_sched_has_work(struct blk_mq_hw_ctx *hctx)  in blk_mq_sched_has_work()
 83 static inline bool blk_mq_sched_needs_restart(struct blk_mq_hw_ctx *hctx)  in blk_mq_sched_needs_restart()
 
 | 
| D | blk-mq-debugfs.c | 221 	struct blk_mq_hw_ctx *hctx = data;  in hctx_state_show()247 	struct blk_mq_hw_ctx *hctx = data;  in hctx_flags_show()
 360 	struct blk_mq_hw_ctx *hctx = m->private;  in hctx_dispatch_start()
 368 	struct blk_mq_hw_ctx *hctx = m->private;  in hctx_dispatch_next()
 376 	struct blk_mq_hw_ctx *hctx = m->private;  in hctx_dispatch_stop()
 390 	struct blk_mq_hw_ctx	*hctx;
 411 	struct blk_mq_hw_ctx *hctx = data;  in hctx_busy_show()
 428 	struct blk_mq_hw_ctx *hctx = data;  in hctx_type_show()
 437 	struct blk_mq_hw_ctx *hctx = data;  in hctx_ctx_map_show()
 462 	struct blk_mq_hw_ctx *hctx = data;  in hctx_tags_show()
 [all …]
 
 | 
| D | blk-mq.c | 67 static bool blk_mq_hctx_has_pending(struct blk_mq_hw_ctx *hctx)  in blk_mq_hctx_has_pending()77 static void blk_mq_hctx_mark_pending(struct blk_mq_hw_ctx *hctx,  in blk_mq_hctx_mark_pending()
 86 static void blk_mq_hctx_clear_pending(struct blk_mq_hw_ctx *hctx,  in blk_mq_hctx_clear_pending()
 99 static bool blk_mq_check_inflight(struct blk_mq_hw_ctx *hctx,  in blk_mq_check_inflight()
 125 static bool blk_mq_check_inflight_rw(struct blk_mq_hw_ctx *hctx,  in blk_mq_check_inflight_rw()
 236 	struct blk_mq_hw_ctx *hctx;  in blk_mq_quiesce_queue()
 271 	struct blk_mq_hw_ctx *hctx;  in blk_mq_wake_waiters()
 279 bool blk_mq_can_queue(struct blk_mq_hw_ctx *hctx)  in blk_mq_can_queue()
 496 	struct blk_mq_hw_ctx *hctx = rq->mq_hctx;  in __blk_mq_free_request()
 514 	struct blk_mq_hw_ctx *hctx = rq->mq_hctx;  in blk_mq_free_request()
 [all …]
 
 | 
| D | blk-mq-tag.c | 32 bool __blk_mq_tag_busy(struct blk_mq_hw_ctx *hctx)  in __blk_mq_tag_busy()55 void __blk_mq_tag_idle(struct blk_mq_hw_ctx *hctx)  in __blk_mq_tag_idle()
 71 static inline bool hctx_may_queue(struct blk_mq_hw_ctx *hctx,  in hctx_may_queue()
 194 void blk_mq_put_tag(struct blk_mq_hw_ctx *hctx, struct blk_mq_tags *tags,  in blk_mq_put_tag()
 209 	struct blk_mq_hw_ctx *hctx;
 218 	struct blk_mq_hw_ctx *hctx = iter_data->hctx;  in bt_iter()
 250 static void bt_for_each(struct blk_mq_hw_ctx *hctx, struct sbitmap_queue *bt,  in bt_for_each()
 406 	struct blk_mq_hw_ctx *hctx;  in blk_mq_queue_tag_busy_iter()
 491 int blk_mq_tag_update_depth(struct blk_mq_hw_ctx *hctx,  in blk_mq_tag_update_depth()
 
 | 
| D | kyber-iosched.c | 461 static int kyber_init_hctx(struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx)  in kyber_init_hctx()517 static void kyber_exit_hctx(struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx)  in kyber_exit_hctx()
 565 static bool kyber_bio_merge(struct blk_mq_hw_ctx *hctx, struct bio *bio,  in kyber_bio_merge()
 587 static void kyber_insert_requests(struct blk_mq_hw_ctx *hctx,  in kyber_insert_requests()
 694 	struct blk_mq_hw_ctx *hctx = READ_ONCE(wqe->private);  in kyber_domain_wake()
 704 				  struct blk_mq_hw_ctx *hctx)  in kyber_get_domain_token()
 752 			  struct blk_mq_hw_ctx *hctx)  in kyber_dispatch_cur_domain()
 799 static struct request *kyber_dispatch_request(struct blk_mq_hw_ctx *hctx)  in kyber_dispatch_request()
 845 static bool kyber_has_work(struct blk_mq_hw_ctx *hctx)  in kyber_has_work()
 909 	struct blk_mq_hw_ctx *hctx = m->private;			\
 [all …]
 
 | 
| D | mq-deadline.c | 381 static struct request *dd_dispatch_request(struct blk_mq_hw_ctx *hctx)  in dd_dispatch_request()462 static bool dd_bio_merge(struct blk_mq_hw_ctx *hctx, struct bio *bio,  in dd_bio_merge()
 483 static void dd_insert_request(struct blk_mq_hw_ctx *hctx, struct request *rq,  in dd_insert_request()
 523 static void dd_insert_requests(struct blk_mq_hw_ctx *hctx,  in dd_insert_requests()
 578 static bool dd_has_work(struct blk_mq_hw_ctx *hctx)  in dd_has_work()
 
 | 
| D | blk-flush.c | 213 	struct blk_mq_hw_ctx *hctx;  in flush_end_io()329 	struct blk_mq_hw_ctx *hctx = rq->mq_hctx;  in mq_flush_data_end_io()
 
 | 
| D | blk.h | 52 is_flush_rq(struct request *req, struct blk_mq_hw_ctx *hctx)  in is_flush_rq()
 | 
| D | bfq-iosched.c | 2209 static bool bfq_bio_merge(struct blk_mq_hw_ctx *hctx, struct bio *bio,  in bfq_bio_merge()4625 static bool bfq_has_work(struct blk_mq_hw_ctx *hctx)  in bfq_has_work()
 4637 static struct request *__bfq_dispatch_request(struct blk_mq_hw_ctx *hctx)  in __bfq_dispatch_request()
 4777 static struct request *bfq_dispatch_request(struct blk_mq_hw_ctx *hctx)  in bfq_dispatch_request()
 5478 static void bfq_insert_request(struct blk_mq_hw_ctx *hctx, struct request *rq,  in bfq_insert_request()
 5533 static void bfq_insert_requests(struct blk_mq_hw_ctx *hctx,  in bfq_insert_requests()
 6344 static void bfq_depth_updated(struct blk_mq_hw_ctx *hctx)  in bfq_depth_updated()
 6354 static int bfq_init_hctx(struct blk_mq_hw_ctx *hctx, unsigned int index)  in bfq_init_hctx()
 
 | 
| D | bsg-lib.c | 261 static blk_status_t bsg_queue_rq(struct blk_mq_hw_ctx *hctx,  in bsg_queue_rq()
 | 
| /Linux-v5.4/include/linux/ | 
| D | blk-mq.h | 15 struct blk_mq_hw_ctx {  struct123 typedef blk_status_t (queue_rq_fn)(struct blk_mq_hw_ctx *,
 125 typedef void (commit_rqs_fn)(struct blk_mq_hw_ctx *);
 126 typedef bool (get_budget_fn)(struct blk_mq_hw_ctx *);
 127 typedef void (put_budget_fn)(struct blk_mq_hw_ctx *);
 129 typedef int (init_hctx_fn)(struct blk_mq_hw_ctx *, void *, unsigned int);
 130 typedef void (exit_hctx_fn)(struct blk_mq_hw_ctx *, unsigned int);
 136 typedef bool (busy_iter_fn)(struct blk_mq_hw_ctx *, struct request *, void *,
 139 typedef int (poll_fn)(struct blk_mq_hw_ctx *);
 265 bool blk_mq_can_queue(struct blk_mq_hw_ctx *);
 [all …]
 
 | 
| D | elevator.h | 27 struct blk_mq_hw_ctx;32 	int (*init_hctx)(struct blk_mq_hw_ctx *, unsigned int);
 33 	void (*exit_hctx)(struct blk_mq_hw_ctx *, unsigned int);
 34 	void (*depth_updated)(struct blk_mq_hw_ctx *);
 37 	bool (*bio_merge)(struct blk_mq_hw_ctx *, struct bio *, unsigned int);
 44 	void (*insert_requests)(struct blk_mq_hw_ctx *, struct list_head *, bool);
 45 	struct request *(*dispatch_request)(struct blk_mq_hw_ctx *);
 46 	bool (*has_work)(struct blk_mq_hw_ctx *);
 
 | 
| /Linux-v5.4/drivers/s390/block/ | 
| D | scm_blk.c | 282 static blk_status_t scm_blk_request(struct blk_mq_hw_ctx *hctx,  in scm_blk_request()331 static int scm_blk_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,  in scm_blk_init_hctx()
 345 static void scm_blk_exit_hctx(struct blk_mq_hw_ctx *hctx, unsigned int idx)  in scm_blk_exit_hctx()
 
 | 
| /Linux-v5.4/drivers/nvme/target/ | 
| D | loop.c | 132 static blk_status_t nvme_loop_queue_rq(struct blk_mq_hw_ctx *hctx,  in nvme_loop_queue_rq()215 static int nvme_loop_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,  in nvme_loop_init_hctx()
 227 static int nvme_loop_init_admin_hctx(struct blk_mq_hw_ctx *hctx, void *data,  in nvme_loop_init_admin_hctx()
 
 | 
| /Linux-v5.4/arch/um/drivers/ | 
| D | ubd_kern.c | 195 static blk_status_t ubd_queue_rq(struct blk_mq_hw_ctx *hctx,1312 static int ubd_queue_one_vec(struct blk_mq_hw_ctx *hctx, struct request *req,  in ubd_queue_one_vec()
 1359 static int queue_rw_req(struct blk_mq_hw_ctx *hctx, struct request *req)  in queue_rw_req()
 1375 static blk_status_t ubd_queue_rq(struct blk_mq_hw_ctx *hctx,  in ubd_queue_rq()
 
 | 
| /Linux-v5.4/drivers/block/ | 
| D | z2ram.c | 69 static blk_status_t z2_queue_rq(struct blk_mq_hw_ctx *hctx,  in z2_queue_rq()
 | 
| /Linux-v5.4/drivers/block/paride/ | 
| D | pcd.c | 189 static blk_status_t pcd_queue_rq(struct blk_mq_hw_ctx *hctx,813 static blk_status_t pcd_queue_rq(struct blk_mq_hw_ctx *hctx,  in pcd_queue_rq()
 
 | 
| D | pf.c | 209 static blk_status_t pf_queue_rq(struct blk_mq_hw_ctx *hctx,871 static blk_status_t pf_queue_rq(struct blk_mq_hw_ctx *hctx,  in pf_queue_rq()
 
 | 
| /Linux-v5.4/drivers/nvme/host/ | 
| D | pci.c | 372 static int nvme_admin_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,  in nvme_admin_init_hctx()387 static void nvme_admin_exit_hctx(struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx)  in nvme_admin_exit_hctx()
 394 static int nvme_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,  in nvme_init_hctx()
 501 static void nvme_commit_rqs(struct blk_mq_hw_ctx *hctx)  in nvme_commit_rqs()
 875 static blk_status_t nvme_queue_rq(struct blk_mq_hw_ctx *hctx,  in nvme_queue_rq()
 1082 static int nvme_poll(struct blk_mq_hw_ctx *hctx)  in nvme_poll()
 
 | 
| /Linux-v5.4/drivers/scsi/ | 
| D | scsi_lib.c | 1623 static void scsi_mq_put_budget(struct blk_mq_hw_ctx *hctx)  in scsi_mq_put_budget()1631 static bool scsi_mq_get_budget(struct blk_mq_hw_ctx *hctx)  in scsi_mq_get_budget()
 1644 static blk_status_t scsi_queue_rq(struct blk_mq_hw_ctx *hctx,  in scsi_queue_rq()
 1843 static void scsi_commit_rqs(struct blk_mq_hw_ctx *hctx)  in scsi_commit_rqs()
 
 |