Home
last modified time | relevance | path

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

123

/Linux-v5.15/block/
Dblk-mq.h26 struct blk_mq_hw_ctx *hctxs[HCTX_MAX_TYPES];
43 bool blk_mq_dispatch_rq_list(struct blk_mq_hw_ctx *hctx, struct list_head *,
47 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,
69 void __blk_mq_insert_request(struct blk_mq_hw_ctx *hctx, struct request *rq,
73 void blk_mq_insert_requests(struct blk_mq_hw_ctx *hctx, struct blk_mq_ctx *ctx,
78 void blk_mq_try_issue_list_directly(struct blk_mq_hw_ctx *hctx,
92 static inline struct blk_mq_hw_ctx *blk_mq_map_queue_type(struct request_queue *q, in blk_mq_map_queue_type()
105 static inline struct blk_mq_hw_ctx *blk_mq_map_queue(struct request_queue *q, in blk_mq_map_queue()
130 extern void blk_mq_hctx_kobj_init(struct blk_mq_hw_ctx *hctx);
[all …]
Dblk-mq-sysfs.c36 struct blk_mq_hw_ctx *hctx = container_of(kobj, struct blk_mq_hw_ctx, in blk_mq_hw_sysfs_release()
50 ssize_t (*show)(struct blk_mq_hw_ctx *, char *);
51 ssize_t (*store)(struct blk_mq_hw_ctx *, const char *, size_t);
58 struct blk_mq_hw_ctx *hctx; in blk_mq_hw_sysfs_show()
63 hctx = container_of(kobj, struct blk_mq_hw_ctx, kobj); in blk_mq_hw_sysfs_show()
80 struct blk_mq_hw_ctx *hctx; in blk_mq_hw_sysfs_store()
85 hctx = container_of(kobj, struct blk_mq_hw_ctx, kobj); in blk_mq_hw_sysfs_store()
97 static ssize_t blk_mq_hw_sysfs_nr_tags_show(struct blk_mq_hw_ctx *hctx, in blk_mq_hw_sysfs_nr_tags_show()
103 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()
109 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-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-sched.c51 void blk_mq_sched_mark_restart_hctx(struct blk_mq_hw_ctx *hctx) in blk_mq_sched_mark_restart_hctx()
60 void blk_mq_sched_restart(struct blk_mq_hw_ctx *hctx) in blk_mq_sched_restart()
89 struct blk_mq_hw_ctx *hctx = in blk_mq_dispatch_hctx_list()
118 static int __blk_mq_do_dispatch_sched(struct blk_mq_hw_ctx *hctx) in __blk_mq_do_dispatch_sched()
209 static int blk_mq_do_dispatch_sched(struct blk_mq_hw_ctx *hctx) in blk_mq_do_dispatch_sched()
220 static struct blk_mq_ctx *blk_mq_next_ctx(struct blk_mq_hw_ctx *hctx, in blk_mq_next_ctx()
239 static int blk_mq_do_dispatch_ctx(struct blk_mq_hw_ctx *hctx) in blk_mq_do_dispatch_ctx()
294 static int __blk_mq_sched_dispatch_requests(struct blk_mq_hw_ctx *hctx) in __blk_mq_sched_dispatch_requests()
346 void blk_mq_sched_dispatch_requests(struct blk_mq_hw_ctx *hctx) in blk_mq_sched_dispatch_requests()
371 struct blk_mq_hw_ctx *hctx; in __blk_mq_sched_bio_merge()
[all …]
Dblk-mq-tag.h46 extern int blk_mq_tag_update_depth(struct blk_mq_hw_ctx *hctx,
59 struct blk_mq_hw_ctx *hctx) in bt_wait_ptr()
72 extern bool __blk_mq_tag_busy(struct blk_mq_hw_ctx *);
73 extern void __blk_mq_tag_idle(struct blk_mq_hw_ctx *);
75 static inline bool blk_mq_tag_busy(struct blk_mq_hw_ctx *hctx) in blk_mq_tag_busy()
83 static inline void blk_mq_tag_idle(struct blk_mq_hw_ctx *hctx) in blk_mq_tag_idle()
Dblk-mq-debugfs.c228 struct blk_mq_hw_ctx *hctx = data; in hctx_state_show()
256 struct blk_mq_hw_ctx *hctx = data; in hctx_flags_show()
365 struct blk_mq_hw_ctx *hctx = m->private; in hctx_dispatch_start()
373 struct blk_mq_hw_ctx *hctx = m->private; in hctx_dispatch_next()
381 struct blk_mq_hw_ctx *hctx = m->private; in hctx_dispatch_stop()
395 struct blk_mq_hw_ctx *hctx;
415 struct blk_mq_hw_ctx *hctx = data; in hctx_busy_show()
432 struct blk_mq_hw_ctx *hctx = data; in hctx_type_show()
441 struct blk_mq_hw_ctx *hctx = data; in hctx_ctx_map_show()
466 struct blk_mq_hw_ctx *hctx = data; in hctx_tags_show()
[all …]
Dblk-mq-sched.h18 void blk_mq_sched_mark_restart_hctx(struct blk_mq_hw_ctx *hctx);
19 void blk_mq_sched_restart(struct blk_mq_hw_ctx *hctx);
23 void blk_mq_sched_insert_requests(struct blk_mq_hw_ctx *hctx,
27 void blk_mq_sched_dispatch_requests(struct blk_mq_hw_ctx *hctx);
72 static inline bool blk_mq_sched_has_work(struct blk_mq_hw_ctx *hctx) in blk_mq_sched_has_work()
82 static inline bool blk_mq_sched_needs_restart(struct blk_mq_hw_ctx *hctx) in blk_mq_sched_needs_restart()
Dblk-mq.c70 static bool blk_mq_hctx_has_pending(struct blk_mq_hw_ctx *hctx) in blk_mq_hctx_has_pending()
80 static void blk_mq_hctx_mark_pending(struct blk_mq_hw_ctx *hctx, in blk_mq_hctx_mark_pending()
89 static void blk_mq_hctx_clear_pending(struct blk_mq_hw_ctx *hctx, in blk_mq_hctx_clear_pending()
102 static bool blk_mq_check_inflight(struct blk_mq_hw_ctx *hctx, in blk_mq_check_inflight()
232 struct blk_mq_hw_ctx *hctx; in blk_mq_quiesce_queue()
267 struct blk_mq_hw_ctx *hctx; in blk_mq_wake_waiters()
500 struct blk_mq_hw_ctx *hctx = rq->mq_hctx; in __blk_mq_free_request()
519 struct blk_mq_hw_ctx *hctx = rq->mq_hctx; in blk_mq_free_request()
691 static void hctx_unlock(struct blk_mq_hw_ctx *hctx, int srcu_idx) in hctx_unlock()
700 static void hctx_lock(struct blk_mq_hw_ctx *hctx, int *srcu_idx) in hctx_lock()
[all …]
Dkyber-iosched.c452 static void kyber_depth_updated(struct blk_mq_hw_ctx *hctx) in kyber_depth_updated()
463 static int kyber_init_hctx(struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx) in kyber_init_hctx()
518 static void kyber_exit_hctx(struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx) in kyber_exit_hctx()
570 struct blk_mq_hw_ctx *hctx = blk_mq_map_queue(q, bio->bi_opf, ctx); in kyber_bio_merge()
589 static void kyber_insert_requests(struct blk_mq_hw_ctx *hctx, in kyber_insert_requests()
696 struct blk_mq_hw_ctx *hctx = READ_ONCE(wqe->private); in kyber_domain_wake()
706 struct blk_mq_hw_ctx *hctx) in kyber_get_domain_token()
754 struct blk_mq_hw_ctx *hctx) in kyber_dispatch_cur_domain()
801 static struct request *kyber_dispatch_request(struct blk_mq_hw_ctx *hctx) in kyber_dispatch_request()
847 static bool kyber_has_work(struct blk_mq_hw_ctx *hctx) in kyber_has_work()
[all …]
Dblk-mq-tag.c25 bool __blk_mq_tag_busy(struct blk_mq_hw_ctx *hctx) in __blk_mq_tag_busy()
57 void __blk_mq_tag_idle(struct blk_mq_hw_ctx *hctx) in __blk_mq_tag_idle()
197 struct blk_mq_hw_ctx *hctx;
220 struct blk_mq_hw_ctx *hctx = iter_data->hctx; in bt_iter()
256 static void bt_for_each(struct blk_mq_hw_ctx *hctx, struct sbitmap_queue *bt, in bt_for_each()
440 struct blk_mq_hw_ctx *hctx; in blk_mq_queue_tag_busy_iter()
579 int blk_mq_tag_update_depth(struct blk_mq_hw_ctx *hctx, in blk_mq_tag_update_depth()
Dmq-deadline.c477 static struct request *dd_dispatch_request(struct blk_mq_hw_ctx *hctx) in dd_dispatch_request()
514 static void dd_depth_updated(struct blk_mq_hw_ctx *hctx) in dd_depth_updated()
526 static int dd_init_hctx(struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx) in dd_init_hctx()
659 static void dd_insert_request(struct blk_mq_hw_ctx *hctx, struct request *rq, in dd_insert_request()
713 static void dd_insert_requests(struct blk_mq_hw_ctx *hctx, in dd_insert_requests()
787 static bool dd_has_work(struct blk_mq_hw_ctx *hctx) in dd_has_work()
Dblk-flush.c352 struct blk_mq_hw_ctx *hctx = rq->mq_hctx; in mq_flush_data_end_io()
519 void blk_mq_hctx_set_fq_lock_class(struct blk_mq_hw_ctx *hctx, in blk_mq_hctx_set_fq_lock_class()
Dbsg-lib.c265 static blk_status_t bsg_queue_rq(struct blk_mq_hw_ctx *hctx, in bsg_queue_rq()
/Linux-v5.15/include/linux/
Dblk-mq.h17 struct blk_mq_hw_ctx { struct
279 typedef bool (busy_iter_fn)(struct blk_mq_hw_ctx *, struct request *, void *,
291 blk_status_t (*queue_rq)(struct blk_mq_hw_ctx *,
301 void (*commit_rqs)(struct blk_mq_hw_ctx *);
333 int (*poll)(struct blk_mq_hw_ctx *);
345 int (*init_hctx)(struct blk_mq_hw_ctx *, void *, unsigned int);
349 void (*exit_hctx)(struct blk_mq_hw_ctx *, unsigned int);
534 void blk_mq_stop_hw_queue(struct blk_mq_hw_ctx *hctx);
535 void blk_mq_start_hw_queue(struct blk_mq_hw_ctx *hctx);
538 void blk_mq_start_stopped_hw_queue(struct blk_mq_hw_ctx *hctx, bool async);
[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 *);
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.15/drivers/block/rnbd/
Drnbd-clt.h105 struct blk_mq_hw_ctx *hctx;
Drnbd-clt.c1117 struct blk_mq_hw_ctx *hctx, in rnbd_clt_dev_kick_mq_queue()
1132 static blk_status_t rnbd_queue_rq(struct blk_mq_hw_ctx *hctx, in rnbd_queue_rq()
1179 static int rnbd_rdma_poll(struct blk_mq_hw_ctx *hctx) in rnbd_rdma_poll()
1337 struct blk_mq_hw_ctx *hctx) in rnbd_init_hw_queue()
1347 struct blk_mq_hw_ctx *hctx; in rnbd_init_mq_hw_queues()
/Linux-v5.15/drivers/s390/block/
Dscm_blk.c283 static blk_status_t scm_blk_request(struct blk_mq_hw_ctx *hctx, in scm_blk_request()
332 static int scm_blk_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, in scm_blk_init_hctx()
346 static void scm_blk_exit_hctx(struct blk_mq_hw_ctx *hctx, unsigned int idx) in scm_blk_exit_hctx()
/Linux-v5.15/drivers/nvme/target/
Dloop.c131 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-v5.15/drivers/block/
Dz2ram.c68 static blk_status_t z2_queue_rq(struct blk_mq_hw_ctx *hctx, in z2_queue_rq()
Dvirtio_blk.c203 static void virtio_commit_rqs(struct blk_mq_hw_ctx *hctx) in virtio_commit_rqs()
217 static blk_status_t virtio_queue_rq(struct blk_mq_hw_ctx *hctx, in virtio_queue_rq()
/Linux-v5.15/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,
868 static blk_status_t pf_queue_rq(struct blk_mq_hw_ctx *hctx, in pf_queue_rq()
/Linux-v5.15/drivers/scsi/
Dscsi_lib.c1640 static blk_status_t scsi_queue_rq(struct blk_mq_hw_ctx *hctx, in scsi_queue_rq()
1786 static int scsi_mq_poll(struct blk_mq_hw_ctx *hctx) in scsi_mq_poll()
1796 static int scsi_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, in scsi_init_hctx()
1877 static void scsi_commit_rqs(struct blk_mq_hw_ctx *hctx) in scsi_commit_rqs()
/Linux-v5.15/drivers/nvme/host/
Dtcp.c447 static int nvme_tcp_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, in nvme_tcp_init_hctx()
457 static int nvme_tcp_init_admin_hctx(struct blk_mq_hw_ctx *hctx, void *data, in nvme_tcp_init_admin_hctx()
2358 static void nvme_tcp_commit_rqs(struct blk_mq_hw_ctx *hctx) in nvme_tcp_commit_rqs()
2366 static blk_status_t nvme_tcp_queue_rq(struct blk_mq_hw_ctx *hctx, in nvme_tcp_queue_rq()
2435 static int nvme_tcp_poll(struct blk_mq_hw_ctx *hctx) in nvme_tcp_poll()

123