/linux-4.1.27/block/ |
D | blk-mq.c | 35 static void __blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx); 40 static bool blk_mq_hctx_has_pending(struct blk_mq_hw_ctx *hctx) in blk_mq_hctx_has_pending() argument 44 for (i = 0; i < hctx->ctx_map.size; i++) in blk_mq_hctx_has_pending() 45 if (hctx->ctx_map.map[i].word) in blk_mq_hctx_has_pending() 51 static inline struct blk_align_bitmap *get_bm(struct blk_mq_hw_ctx *hctx, in get_bm() argument 54 return &hctx->ctx_map.map[ctx->index_hw / hctx->ctx_map.bits_per_word]; in get_bm() 57 #define CTX_TO_BIT(hctx, ctx) \ argument 58 ((ctx)->index_hw & ((hctx)->ctx_map.bits_per_word - 1)) 63 static void blk_mq_hctx_mark_pending(struct blk_mq_hw_ctx *hctx, in blk_mq_hctx_mark_pending() argument 66 struct blk_align_bitmap *bm = get_bm(hctx, ctx); in blk_mq_hctx_mark_pending() [all …]
|
D | blk-mq-sysfs.c | 82 struct blk_mq_hw_ctx *hctx; in blk_mq_hw_sysfs_show() local 87 hctx = container_of(kobj, struct blk_mq_hw_ctx, kobj); in blk_mq_hw_sysfs_show() 88 q = hctx->queue; in blk_mq_hw_sysfs_show() 96 res = entry->show(hctx, page); in blk_mq_hw_sysfs_show() 106 struct blk_mq_hw_ctx *hctx; in blk_mq_hw_sysfs_store() local 111 hctx = container_of(kobj, struct blk_mq_hw_ctx, kobj); in blk_mq_hw_sysfs_store() 112 q = hctx->queue; in blk_mq_hw_sysfs_store() 120 res = entry->store(hctx, page, length); in blk_mq_hw_sysfs_store() 177 static ssize_t blk_mq_hw_sysfs_queued_show(struct blk_mq_hw_ctx *hctx, in blk_mq_hw_sysfs_queued_show() argument 180 return sprintf(page, "%lu\n", hctx->queued); in blk_mq_hw_sysfs_queued_show() [all …]
|
D | blk-mq-tag.c | 61 bool __blk_mq_tag_busy(struct blk_mq_hw_ctx *hctx) in __blk_mq_tag_busy() argument 63 if (!test_bit(BLK_MQ_S_TAG_ACTIVE, &hctx->state) && in __blk_mq_tag_busy() 64 !test_and_set_bit(BLK_MQ_S_TAG_ACTIVE, &hctx->state)) in __blk_mq_tag_busy() 65 atomic_inc(&hctx->tags->active_queues); in __blk_mq_tag_busy() 100 void __blk_mq_tag_idle(struct blk_mq_hw_ctx *hctx) in __blk_mq_tag_idle() argument 102 struct blk_mq_tags *tags = hctx->tags; in __blk_mq_tag_idle() 104 if (!test_and_clear_bit(BLK_MQ_S_TAG_ACTIVE, &hctx->state)) in __blk_mq_tag_idle() 116 static inline bool hctx_may_queue(struct blk_mq_hw_ctx *hctx, in hctx_may_queue() argument 121 if (!hctx || !(hctx->flags & BLK_MQ_F_TAG_SHARED)) in hctx_may_queue() 123 if (!test_bit(BLK_MQ_S_TAG_ACTIVE, &hctx->state)) in hctx_may_queue() [all …]
|
D | blk-mq.h | 29 void blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async); 106 struct blk_mq_hw_ctx *hctx; member 112 struct blk_mq_hw_ctx *hctx) in blk_mq_set_alloc_data() argument 118 data->hctx = hctx; in blk_mq_set_alloc_data() 121 static inline bool blk_mq_hw_queue_mapped(struct blk_mq_hw_ctx *hctx) in blk_mq_hw_queue_mapped() argument 123 return hctx->nr_ctx && hctx->tags; in blk_mq_hw_queue_mapped()
|
D | blk-mq-tag.h | 54 extern void blk_mq_put_tag(struct blk_mq_hw_ctx *hctx, unsigned int tag, unsigned int *last_tag); 75 static inline bool blk_mq_tag_busy(struct blk_mq_hw_ctx *hctx) in blk_mq_tag_busy() argument 77 if (!(hctx->flags & BLK_MQ_F_TAG_SHARED)) in blk_mq_tag_busy() 80 return __blk_mq_tag_busy(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() argument 85 if (!(hctx->flags & BLK_MQ_F_TAG_SHARED)) in blk_mq_tag_idle() 88 __blk_mq_tag_idle(hctx); in blk_mq_tag_idle()
|
D | blk.h | 36 struct blk_mq_hw_ctx *hctx; in blk_get_flush_queue() local 41 hctx = q->mq_ops->map_queue(q, ctx->cpu); in blk_get_flush_queue() 43 return hctx->fq; in blk_get_flush_queue()
|
D | blk-flush.c | 342 struct blk_mq_hw_ctx *hctx; in mq_flush_data_end_io() local 347 hctx = q->mq_ops->map_queue(q, ctx->cpu); in mq_flush_data_end_io() 355 blk_mq_run_hw_queue(hctx, true); in mq_flush_data_end_io()
|
D | blk-core.c | 248 struct blk_mq_hw_ctx *hctx; in blk_sync_queue() local 251 queue_for_each_hw_ctx(q, hctx, i) { in blk_sync_queue() 252 cancel_delayed_work_sync(&hctx->run_work); in blk_sync_queue() 253 cancel_delayed_work_sync(&hctx->delay_work); in blk_sync_queue()
|
/linux-4.1.27/include/linux/ |
D | blk-mq.h | 218 void blk_mq_stop_hw_queue(struct blk_mq_hw_ctx *hctx); 219 void blk_mq_start_hw_queue(struct blk_mq_hw_ctx *hctx); 224 void blk_mq_delay_queue(struct blk_mq_hw_ctx *hctx, unsigned long msecs); 225 void blk_mq_tag_busy_iter(struct blk_mq_hw_ctx *hctx, busy_iter_fn *fn, 244 #define queue_for_each_hw_ctx(q, hctx, i) \ argument 246 ({ hctx = (q)->queue_hw_ctx[i]; 1; }); (i)++) 252 #define hctx_for_each_ctx(hctx, ctx, i) \ argument 253 for ((i) = 0; (i) < (hctx)->nr_ctx && \ 254 ({ ctx = (hctx)->ctxs[(i)]; 1; }); (i)++)
|
/linux-4.1.27/net/dccp/ccids/ |
D | ccid3.h | 116 struct ccid3_hc_tx_sock *hctx = ccid_priv(dccp_sk(sk)->dccps_hc_tx_ccid); in ccid3_hc_tx_sk() local 117 BUG_ON(hctx == NULL); in ccid3_hc_tx_sk() 118 return hctx; in ccid3_hc_tx_sk()
|
/linux-4.1.27/drivers/block/ |
D | nvme-core.c | 117 struct blk_mq_hw_ctx *hctx; member 179 static int nvme_admin_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, in nvme_admin_init_hctx() argument 185 WARN_ON(nvmeq->hctx); in nvme_admin_init_hctx() 186 nvmeq->hctx = hctx; in nvme_admin_init_hctx() 187 hctx->driver_data = nvmeq; in nvme_admin_init_hctx() 204 static void nvme_exit_hctx(struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx) in nvme_exit_hctx() argument 206 struct nvme_queue *nvmeq = hctx->driver_data; in nvme_exit_hctx() 208 nvmeq->hctx = NULL; in nvme_exit_hctx() 211 static int nvme_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, in nvme_init_hctx() argument 218 if (!nvmeq->hctx) in nvme_init_hctx() [all …]
|
D | null_blk.c | 354 static int null_queue_rq(struct blk_mq_hw_ctx *hctx, in null_queue_rq() argument 360 cmd->nq = hctx->driver_data; in null_queue_rq() 377 static int null_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, in null_init_hctx() argument 383 hctx->driver_data = nq; in null_init_hctx()
|
D | virtio_blk.c | 160 static int virtio_queue_rq(struct blk_mq_hw_ctx *hctx, in virtio_queue_rq() argument 163 struct virtio_blk *vblk = hctx->queue->queuedata; in virtio_queue_rq() 168 int qid = hctx->queue_num; in virtio_queue_rq() 204 num = blk_rq_map_sg(hctx->queue, vbr->req, vbr->sg); in virtio_queue_rq() 216 blk_mq_stop_hw_queue(hctx); in virtio_queue_rq()
|
D | loop.c | 1430 static int loop_queue_rq(struct blk_mq_hw_ctx *hctx, in loop_queue_rq() argument
|
D | rbd.c | 3448 static int rbd_queue_rq(struct blk_mq_hw_ctx *hctx, in rbd_queue_rq() argument
|
/linux-4.1.27/drivers/mtd/ubi/ |
D | block.c | 318 static int ubiblock_queue_rq(struct blk_mq_hw_ctx *hctx, in ubiblock_queue_rq() argument 322 struct ubiblock *dev = hctx->queue->queuedata; in ubiblock_queue_rq()
|
/linux-4.1.27/drivers/block/mtip32xx/ |
D | mtip32xx.c | 197 struct blk_mq_hw_ctx *hctx = dd->queue->queue_hw_ctx[0]; in mtip_rq_from_tag() local 199 return blk_mq_tag_to_rq(hctx->tags, tag); in mtip_rq_from_tag() 2380 struct blk_mq_hw_ctx *hctx) in mtip_hw_submit_io() argument 3694 static int mtip_submit_request(struct blk_mq_hw_ctx *hctx, struct request *rq) in mtip_submit_request() argument 3696 struct driver_data *dd = hctx->queue->queuedata; in mtip_submit_request() 3727 nents = blk_rq_map_sg(hctx->queue, rq, cmd->sg); in mtip_submit_request() 3730 mtip_hw_submit_io(dd, rq, cmd, nents, hctx); in mtip_submit_request() 3734 static bool mtip_check_unal_depth(struct blk_mq_hw_ctx *hctx, in mtip_check_unal_depth() argument 3737 struct driver_data *dd = hctx->queue->queuedata; in mtip_check_unal_depth() 3758 static int mtip_queue_rq(struct blk_mq_hw_ctx *hctx, in mtip_queue_rq() argument [all …]
|
/linux-4.1.27/crypto/ |
D | mcryptd.c | 577 struct hashd_instance_ctx *hctx = crypto_instance_ctx(inst); in mcryptd_free() local 581 crypto_drop_shash(&hctx->spawn); in mcryptd_free()
|
D | cryptd.c | 826 struct hashd_instance_ctx *hctx = crypto_instance_ctx(inst); in cryptd_free() local 831 crypto_drop_shash(&hctx->spawn); in cryptd_free()
|
/linux-4.1.27/drivers/scsi/ |
D | scsi_lib.c | 1966 static int scsi_queue_rq(struct blk_mq_hw_ctx *hctx, in scsi_queue_rq() argument 2031 blk_mq_stop_hw_queue(hctx); in scsi_queue_rq() 2034 blk_mq_delay_queue(hctx, SCSI_QUEUE_DELAY); in scsi_queue_rq()
|
/linux-4.1.27/drivers/md/ |
D | dm.c | 2705 static int dm_mq_queue_rq(struct blk_mq_hw_ctx *hctx, in dm_mq_queue_rq() argument
|