Home
last modified time | relevance | path

Searched refs:blk_mq_hw_ctx (Results 1 – 25 of 58) sorted by relevance

123

/Linux-v5.4/block/
Dblk-mq.h26 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 …]
Dblk-mq-tag.h29 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()
Dblk-mq-debugfs.h24 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()
Dblk-mq-sysfs.c36 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 …]
Dblk-mq-sched.c21 void (*exit)(struct blk_mq_hw_ctx *)) in blk_mq_sched_free_hctx_data() argument
23 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 …]
Dblk-mq-sched.h9 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()
Dblk-mq-debugfs.c221 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 …]
Dblk-mq.c67 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 …]
Dblk-mq-tag.c32 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()
Dkyber-iosched.c461 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 …]
Dmq-deadline.c381 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()
Dblk-flush.c213 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()
Dblk.h52 is_flush_rq(struct request *req, struct blk_mq_hw_ctx *hctx) in is_flush_rq()
Dbfq-iosched.c2209 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()
Dbsg-lib.c261 static blk_status_t bsg_queue_rq(struct blk_mq_hw_ctx *hctx, in bsg_queue_rq()
/Linux-v5.4/include/linux/
Dblk-mq.h15 struct blk_mq_hw_ctx { struct
123 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 …]
Delevator.h27 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/
Dscm_blk.c282 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/
Dloop.c132 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/
Dubd_kern.c195 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/
Dz2ram.c69 static blk_status_t z2_queue_rq(struct blk_mq_hw_ctx *hctx, in z2_queue_rq()
/Linux-v5.4/drivers/block/paride/
Dpcd.c189 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()
Dpf.c209 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/
Dpci.c372 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/
Dscsi_lib.c1623 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()

123