Home
last modified time | relevance | path

Searched refs:hctx (Results 1 – 25 of 47) sorted by relevance

12

/linux/block/
H A Dblk-mq.h53 bool blk_mq_dispatch_rq_list(struct blk_mq_hw_ctx *hctx, struct list_head *,
55 void blk_mq_flush_busy_ctxs(struct blk_mq_hw_ctx *hctx, struct list_head *list);
56 struct request *blk_mq_dequeue_from_ctx(struct blk_mq_hw_ctx *hctx,
135 extern void blk_mq_hctx_kobj_init(struct blk_mq_hw_ctx *hctx);
174 struct blk_mq_hw_ctx *hctx; member
199 struct blk_mq_hw_ctx *hctx) in bt_wait_ptr() argument
201 if (!hctx) in bt_wait_ptr()
203 return sbq_wait_ptr(bt, &hctx->wait_index); in bt_wait_ptr()
209 static inline void blk_mq_tag_busy(struct blk_mq_hw_ctx *hctx) in blk_mq_tag_busy() argument
211 if (hctx->flags & BLK_MQ_F_TAG_QUEUE_SHARED) in blk_mq_tag_busy()
[all …]
H A Dblk-mq-sched.c22 void blk_mq_sched_mark_restart_hctx(struct blk_mq_hw_ctx *hctx) in blk_mq_sched_mark_restart_hctx() argument
24 if (test_bit(BLK_MQ_S_SCHED_RESTART, &hctx->state)) in blk_mq_sched_mark_restart_hctx()
27 set_bit(BLK_MQ_S_SCHED_RESTART, &hctx->state); in blk_mq_sched_mark_restart_hctx()
31 void __blk_mq_sched_restart(struct blk_mq_hw_ctx *hctx) in __blk_mq_sched_restart() argument
33 clear_bit(BLK_MQ_S_SCHED_RESTART, &hctx->state); in __blk_mq_sched_restart()
44 blk_mq_run_hw_queue(hctx, true); in __blk_mq_sched_restart()
58 struct blk_mq_hw_ctx *hctx = in blk_mq_dispatch_hctx_list() local
64 if (rq->mq_hctx != hctx) { in blk_mq_dispatch_hctx_list()
72 return blk_mq_dispatch_rq_list(hctx, &hctx_list, false); 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() argument
[all …]
H A Dblk-mq.c52 static void blk_mq_try_issue_list_directly(struct blk_mq_hw_ctx *hctx,
54 static int blk_hctx_poll(struct request_queue *q, struct blk_mq_hw_ctx *hctx,
61 static bool blk_mq_hctx_has_pending(struct blk_mq_hw_ctx *hctx) in blk_mq_hctx_has_pending() argument
63 return !list_empty_careful(&hctx->dispatch) || in blk_mq_hctx_has_pending()
64 sbitmap_any_bit_set(&hctx->ctx_map) || in blk_mq_hctx_has_pending()
65 blk_mq_sched_has_work(hctx); in blk_mq_hctx_has_pending()
71 static void blk_mq_hctx_mark_pending(struct blk_mq_hw_ctx *hctx, in blk_mq_hctx_mark_pending() argument
74 const int bit = ctx->index_hw[hctx->type]; in blk_mq_hctx_mark_pending()
76 if (!sbitmap_test_bit(&hctx->ctx_map, bit)) in blk_mq_hctx_mark_pending()
77 sbitmap_set_bit(&hctx->ctx_map, bit); in blk_mq_hctx_mark_pending()
[all …]
H A Dkyber-iosched.c458 static int kyber_init_hctx(struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx) in kyber_init_hctx() argument
463 khd = kmalloc_node(sizeof(*khd), GFP_KERNEL, hctx->numa_node); in kyber_init_hctx()
467 khd->kcqs = kmalloc_array_node(hctx->nr_ctx, in kyber_init_hctx()
469 GFP_KERNEL, hctx->numa_node); in kyber_init_hctx()
473 for (i = 0; i < hctx->nr_ctx; i++) in kyber_init_hctx()
477 if (sbitmap_init_node(&khd->kcq_map[i], hctx->nr_ctx, in kyber_init_hctx()
478 ilog2(8), GFP_KERNEL, hctx->numa_node, in kyber_init_hctx()
493 khd->domain_wait[i].wait.private = hctx; in kyber_init_hctx()
501 hctx->sched_data = khd; in kyber_init_hctx()
512 static void kyber_exit_hctx(struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx) in kyber_exit_hctx() argument
[all …]
H A Dmq-deadline.c449 static struct request *dd_dispatch_request(struct blk_mq_hw_ctx *hctx) in dd_dispatch_request() argument
451 struct deadline_data *dd = hctx->queue->elevator->elevator_data; in dd_dispatch_request()
620 static void dd_insert_request(struct blk_mq_hw_ctx *hctx, struct request *rq, in dd_insert_request() argument
623 struct request_queue *q = hctx->queue; in dd_insert_request()
667 static void dd_insert_requests(struct blk_mq_hw_ctx *hctx, in dd_insert_requests() argument
671 struct request_queue *q = hctx->queue; in dd_insert_requests()
681 dd_insert_request(hctx, rq, flags, &free); in dd_insert_requests()
716 static bool dd_has_work(struct blk_mq_hw_ctx *hctx) in dd_has_work() argument
718 struct deadline_data *dd = hctx->queue->elevator->elevator_data; in dd_has_work()
H A Delevator.h74 void (*insert_requests)(struct blk_mq_hw_ctx *hctx, struct list_head *list,
/linux/samples/hid/
H A Dhid_mouse.bpf.c8 static int hid_y_event(struct hid_bpf_ctx *hctx) in hid_y_event() argument
11 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, 9 /* size */); in hid_y_event()
16 bpf_printk("event: size: %d", hctx->size); in hid_y_event()
53 static int hid_x_event(struct hid_bpf_ctx *hctx) in hid_x_event() argument
56 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, 9 /* size */); in hid_x_event()
71 int BPF_PROG(hid_event, struct hid_bpf_ctx *hctx, enum hid_report_type type) in BPF_PROG() argument
73 int ret = hid_y_event(hctx); in BPF_PROG()
78 return hid_x_event(hctx); in BPF_PROG()
83 int BPF_PROG(hid_rdesc_fixup, struct hid_bpf_ctx *hctx) in BPF_PROG() argument
85 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, 4096 /* size */); in BPF_PROG()
H A Dhid_surface_dial.bpf.c14 int BPF_PROG(hid_event, struct hid_bpf_ctx *hctx) in BPF_PROG() argument
16 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, 9 /* size */); in BPF_PROG()
105 int BPF_PROG(hid_rdesc_fixup, struct hid_bpf_ctx *hctx) in BPF_PROG() argument
107 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, 4096 /* size */); in BPF_PROG()
/linux/drivers/hid/bpf/progs/
H A DXPPen__ACK05.bpf.c218 int BPF_PROG(ack05_fix_rdesc, struct hid_bpf_ctx *hctx) in SEC()
220 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, HID_MAX_DESCRIPTOR_SIZE /* size */); in SEC()
221 __s32 rdesc_size = hctx->size; in SEC()
235 hid_set_name(hctx->hid, "Disabled by HID-BPF Hanvon Ugee Shortcut Remote"); in SEC()
265 int BPF_PROG(ack05_fix_events, struct hid_bpf_ctx *hctx) in SEC()
267 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, PAD_REPORT_LENGTH); in SEC()
278 HID_BPF_ASYNC_DELAYED_CALL(switch_to_raw_mode, hctx, 10); in SEC()
315 struct hid_bpf_ctx *hctx = hid_bpf_allocate_context(ctx->hid); in probe() local
317 if (!hctx) { in probe()
323 switch_to_raw_mode(hctx); in probe()
[all …]
H A DFR-TEC__Raptor-Mach-2.bpf.c137 int BPF_PROG(hid_fix_rdesc_raptor_mach_2, struct hid_bpf_ctx *hctx) in SEC()
139 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, HID_MAX_DESCRIPTOR_SIZE /* size */); in SEC()
156 int BPF_PROG(raptor_mach_2_fix_hat_switch, struct hid_bpf_ctx *hctx) in SEC()
158 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, 64 /* size */); in SEC()
H A DXPPen__Artist24.bpf.c93 int BPF_PROG(hid_fix_rdesc_xppen_artist24, struct hid_bpf_ctx *hctx) in SEC()
95 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, 4096 /* size */); in SEC()
154 int BPF_PROG(xppen_24_fix_eraser, struct hid_bpf_ctx *hctx) in SEC()
156 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, 10 /* size */); in SEC()
H A DThrustmaster__TCA-Yoke-Boeing.bpf.c100 int BPF_PROG(hid_fix_rdesc_tca_yoke, struct hid_bpf_ctx *hctx) in SEC()
104 if (hctx->size != expected_length) in SEC()
107 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, HID_MAX_DESCRIPTOR_SIZE /* size */); in SEC()
H A DHP__Elite-Presenter.bpf.c34 int BPF_PROG(hid_fix_rdesc, struct hid_bpf_ctx *hctx) in SEC()
36 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, 4096 /* size */); in SEC()
H A DMicrosoft__Xbox-Elite-2.bpf.c96 int BPF_PROG(hid_fix_rdesc, struct hid_bpf_ctx *hctx) in SEC()
98 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, 4096 /* size */); in SEC()
/linux/tools/testing/selftests/hid/progs/
H A Dhid.c326 int BPF_PROG(hid_test_filter_raw_request, struct hid_bpf_ctx *hctx, unsigned char reportnum, in BPF_PROG() argument
347 int BPF_PROG(hid_test_hidraw_raw_request, struct hid_bpf_ctx *hctx, unsigned char reportnum, in BPF_PROG() argument
350 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, 3 /* size */); in BPF_PROG()
360 ret = hid_bpf_hw_request(hctx, data, 2, rtype, reqtype); in BPF_PROG()
378 int BPF_PROG(hid_test_infinite_loop_raw_request, struct hid_bpf_ctx *hctx, unsigned char reportnum, in BPF_PROG() argument
381 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, 3 /* size */); in BPF_PROG()
392 ret = hid_bpf_hw_request(hctx, data, 2, rtype, reqtype); in BPF_PROG()
405 int BPF_PROG(hid_test_filter_output_report, struct hid_bpf_ctx *hctx, unsigned char reportnum, in BPF_PROG() argument
417 int BPF_PROG(hid_test_hidraw_output_report, struct hid_bpf_ctx *hctx, __u64 source) in BPF_PROG() argument
419 __u8 *data = hid_bpf_get_data(hctx, 0 /* offset */, 3 /* size */); in BPF_PROG()
[all …]
/linux/net/dccp/ccids/
H A Dccid3.h
/linux/drivers/s390/block/
H A Dscm_blk.c281 static blk_status_t scm_blk_request(struct blk_mq_hw_ctx *hctx, in scm_blk_request() argument
284 struct scm_device *scmdev = hctx->queue->queuedata; in scm_blk_request()
286 struct scm_queue *sq = hctx->driver_data; in scm_blk_request()
330 static int scm_blk_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, in scm_blk_init_hctx() argument
339 hctx->driver_data = qd; in scm_blk_init_hctx()
344 static void scm_blk_exit_hctx(struct blk_mq_hw_ctx *hctx, unsigned int idx) in scm_blk_exit_hctx() argument
346 struct scm_queue *qd = hctx->driver_data; in scm_blk_exit_hctx()
349 kfree(hctx->driver_data); in scm_blk_exit_hctx()
350 hctx->driver_data = NULL; in scm_blk_exit_hctx()
/linux/drivers/block/rnbd/
H A Drnbd-clt.c141 if (WARN_ON(!q->hctx)) in rnbd_clt_dev_requeue()
145 blk_mq_run_hw_queue(q->hctx, true); in rnbd_clt_dev_requeue()
1098 struct blk_mq_hw_ctx *hctx, in rnbd_clt_dev_kick_mq_queue() argument
1101 struct rnbd_queue *q = hctx->driver_data; in rnbd_clt_dev_kick_mq_queue()
1104 blk_mq_delay_run_hw_queue(hctx, delay); in rnbd_clt_dev_kick_mq_queue()
1110 blk_mq_delay_run_hw_queue(hctx, 10/*ms*/); in rnbd_clt_dev_kick_mq_queue()
1113 static blk_status_t rnbd_queue_rq(struct blk_mq_hw_ctx *hctx, in rnbd_queue_rq() argument
1128 rnbd_clt_dev_kick_mq_queue(dev, hctx, RNBD_DELAY_IFBUSY); in rnbd_queue_rq()
1142 rnbd_clt_dev_kick_mq_queue(dev, hctx, 10/*ms*/); in rnbd_queue_rq()
1152 rnbd_clt_dev_kick_mq_queue(dev, hctx, 10/*ms*/); in rnbd_queue_rq()
[all …]
H A Drnbd-clt.h105 struct blk_mq_hw_ctx *hctx; member
/linux/drivers/block/null_blk/
H A Dmain.c1596 static int null_poll(struct blk_mq_hw_ctx *hctx, struct io_comp_batch *iob) in null_poll() argument
1598 struct nullb_queue *nq = hctx->driver_data; in null_poll()
1629 struct blk_mq_hw_ctx *hctx = rq->mq_hctx; in null_timeout_rq() local
1632 if (hctx->type == HCTX_TYPE_POLL) { in null_timeout_rq()
1633 struct nullb_queue *nq = hctx->driver_data; in null_timeout_rq()
1655 if (cmd->fake_timeout || hctx->type == HCTX_TYPE_POLL) in null_timeout_rq()
1660 static blk_status_t null_queue_rq(struct blk_mq_hw_ctx *hctx, in null_queue_rq() argument
1665 struct nullb_queue *nq = hctx->driver_data; in null_queue_rq()
1668 const bool is_poll = hctx->type == HCTX_TYPE_POLL; in null_queue_rq()
1670 might_sleep_if(hctx->flags & BLK_MQ_F_BLOCKING); in null_queue_rq()
[all …]
/linux/Documentation/translations/zh_CN/block/
H A Dblk-mq.rst95 如果请求无法直接发送到硬件,它们会被加入到请求的链表(``hctx->dispatch``) 中。
/linux/drivers/nvme/host/
H A Dapple.c781 static blk_status_t apple_nvme_queue_rq(struct blk_mq_hw_ctx *hctx, in apple_nvme_queue_rq() argument
784 struct nvme_ns *ns = hctx->queue->queuedata; in apple_nvme_queue_rq()
785 struct apple_nvme_queue *q = hctx->driver_data; in apple_nvme_queue_rq()
829 static int apple_nvme_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, in apple_nvme_init_hctx() argument
832 hctx->driver_data = data; in apple_nvme_init_hctx()
991 static int apple_nvme_poll(struct blk_mq_hw_ctx *hctx, in apple_nvme_poll() argument
994 struct apple_nvme_queue *q = hctx->driver_data; in apple_nvme_poll()
H A Dtcp.c575 static int nvme_tcp_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, in nvme_tcp_init_hctx() argument
581 hctx->driver_data = queue; 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() argument
591 hctx->driver_data = queue; in nvme_tcp_init_admin_hctx()
2829 static void nvme_tcp_commit_rqs(struct blk_mq_hw_ctx *hctx) in nvme_tcp_commit_rqs() argument
2831 struct nvme_tcp_queue *queue = hctx->driver_data; in nvme_tcp_commit_rqs()
2837 static blk_status_t nvme_tcp_queue_rq(struct blk_mq_hw_ctx *hctx, in nvme_tcp_queue_rq() argument
2840 struct nvme_ns *ns = hctx->queue->queuedata; in nvme_tcp_queue_rq()
2841 struct nvme_tcp_queue *queue = hctx->driver_data; in nvme_tcp_queue_rq()
2868 static int nvme_tcp_poll(struct blk_mq_hw_ctx *hctx, struct io_comp_batch *iob) in nvme_tcp_poll() argument
[all …]
H A Dfc.c37 struct blk_mq_hw_ctx *hctx; member
2192 __nvme_fc_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, unsigned int qidx) in __nvme_fc_init_hctx() argument
2197 hctx->driver_data = queue; in __nvme_fc_init_hctx()
2198 queue->hctx = hctx; in __nvme_fc_init_hctx()
2203 nvme_fc_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, unsigned int hctx_idx) in nvme_fc_init_hctx() argument
2205 return __nvme_fc_init_hctx(hctx, data, hctx_idx + 1); in nvme_fc_init_hctx()
2209 nvme_fc_init_admin_hctx(struct blk_mq_hw_ctx *hctx, void *data, in nvme_fc_init_admin_hctx() argument
2212 return __nvme_fc_init_hctx(hctx, data, hctx_idx); in nvme_fc_init_admin_hctx()
2758 nvme_fc_queue_rq(struct blk_mq_hw_ctx *hctx, in nvme_fc_queue_rq() argument
2761 struct nvme_ns *ns = hctx->queue->queuedata; in nvme_fc_queue_rq()
[all …]
H A Dpci.c638 static int nvme_init_hctx_common(struct blk_mq_hw_ctx *hctx, void *data, in nvme_init_hctx_common() argument
647 WARN_ON(tags != hctx->tags); in nvme_init_hctx_common()
648 pools = nvme_setup_descriptor_pools(dev, hctx->numa_node); in nvme_init_hctx_common()
653 hctx->driver_data = nvmeq; in nvme_init_hctx_common()
657 static int nvme_admin_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, in nvme_admin_init_hctx() argument
661 return nvme_init_hctx_common(hctx, data, 0); in nvme_admin_init_hctx()
664 static int nvme_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, in nvme_init_hctx() argument
667 return nvme_init_hctx_common(hctx, data, hctx_idx + 1); in nvme_init_hctx()
750 static void nvme_commit_rqs(struct blk_mq_hw_ctx *hctx) in nvme_commit_rqs() argument
752 struct nvme_queue *nvmeq = hctx->driver_data; in nvme_commit_rqs()
[all …]

12