Lines Matching refs:hctx

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()
183 static ssize_t blk_mq_hw_sysfs_run_show(struct blk_mq_hw_ctx *hctx, char *page) in blk_mq_hw_sysfs_run_show() argument
185 return sprintf(page, "%lu\n", hctx->run); in blk_mq_hw_sysfs_run_show()
188 static ssize_t blk_mq_hw_sysfs_dispatched_show(struct blk_mq_hw_ctx *hctx, in blk_mq_hw_sysfs_dispatched_show() argument
194 page += sprintf(page, "%8u\t%lu\n", 0U, hctx->dispatched[0]); in blk_mq_hw_sysfs_dispatched_show()
199 page += sprintf(page, "%8lu\t%lu\n", d, hctx->dispatched[i]); in blk_mq_hw_sysfs_dispatched_show()
205 static ssize_t blk_mq_hw_sysfs_rq_list_show(struct blk_mq_hw_ctx *hctx, in blk_mq_hw_sysfs_rq_list_show() argument
210 spin_lock(&hctx->lock); in blk_mq_hw_sysfs_rq_list_show()
211 ret = sysfs_list_show(page, &hctx->dispatch, "HCTX pending"); in blk_mq_hw_sysfs_rq_list_show()
212 spin_unlock(&hctx->lock); in blk_mq_hw_sysfs_rq_list_show()
217 static ssize_t blk_mq_hw_sysfs_tags_show(struct blk_mq_hw_ctx *hctx, char *page) in blk_mq_hw_sysfs_tags_show() argument
219 return blk_mq_tag_sysfs_show(hctx->tags, page); in blk_mq_hw_sysfs_tags_show()
222 static ssize_t blk_mq_hw_sysfs_active_show(struct blk_mq_hw_ctx *hctx, char *page) in blk_mq_hw_sysfs_active_show() argument
224 return sprintf(page, "%u\n", atomic_read(&hctx->nr_active)); in blk_mq_hw_sysfs_active_show()
227 static ssize_t blk_mq_hw_sysfs_cpus_show(struct blk_mq_hw_ctx *hctx, char *page) in blk_mq_hw_sysfs_cpus_show() argument
234 for_each_cpu(i, hctx->cpumask) { in blk_mq_hw_sysfs_cpus_show()
341 static void blk_mq_unregister_hctx(struct blk_mq_hw_ctx *hctx) in blk_mq_unregister_hctx() argument
346 if (!hctx->nr_ctx || !(hctx->flags & BLK_MQ_F_SYSFS_UP)) in blk_mq_unregister_hctx()
349 hctx_for_each_ctx(hctx, ctx, i) in blk_mq_unregister_hctx()
352 kobject_del(&hctx->kobj); in blk_mq_unregister_hctx()
355 static int blk_mq_register_hctx(struct blk_mq_hw_ctx *hctx) in blk_mq_register_hctx() argument
357 struct request_queue *q = hctx->queue; in blk_mq_register_hctx()
361 if (!hctx->nr_ctx || !(hctx->flags & BLK_MQ_F_SYSFS_UP)) in blk_mq_register_hctx()
364 ret = kobject_add(&hctx->kobj, &q->mq_kobj, "%u", hctx->queue_num); in blk_mq_register_hctx()
368 hctx_for_each_ctx(hctx, ctx, i) { in blk_mq_register_hctx()
369 ret = kobject_add(&ctx->kobj, &hctx->kobj, "cpu%u", ctx->cpu); in blk_mq_register_hctx()
380 struct blk_mq_hw_ctx *hctx; in blk_mq_unregister_disk() local
384 queue_for_each_hw_ctx(q, hctx, i) { in blk_mq_unregister_disk()
385 blk_mq_unregister_hctx(hctx); in blk_mq_unregister_disk()
387 hctx_for_each_ctx(hctx, ctx, j) in blk_mq_unregister_disk()
390 kobject_put(&hctx->kobj); in blk_mq_unregister_disk()
402 struct blk_mq_hw_ctx *hctx; in blk_mq_sysfs_init() local
408 queue_for_each_hw_ctx(q, hctx, i) in blk_mq_sysfs_init()
409 kobject_init(&hctx->kobj, &blk_mq_hw_ktype); in blk_mq_sysfs_init()
425 struct blk_mq_hw_ctx *hctx; in blk_mq_register_disk() local
436 queue_for_each_hw_ctx(q, hctx, i) { in blk_mq_register_disk()
437 hctx->flags |= BLK_MQ_F_SYSFS_UP; in blk_mq_register_disk()
438 ret = blk_mq_register_hctx(hctx); in blk_mq_register_disk()
454 struct blk_mq_hw_ctx *hctx; in blk_mq_sysfs_unregister() local
457 queue_for_each_hw_ctx(q, hctx, i) in blk_mq_sysfs_unregister()
458 blk_mq_unregister_hctx(hctx); in blk_mq_sysfs_unregister()
463 struct blk_mq_hw_ctx *hctx; in blk_mq_sysfs_register() local
466 queue_for_each_hw_ctx(q, hctx, i) { in blk_mq_sysfs_register()
467 ret = blk_mq_register_hctx(hctx); in blk_mq_sysfs_register()