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_poll_show(struct blk_mq_hw_ctx *hctx, char *page) in blk_mq_hw_sysfs_poll_show() argument
179 return sprintf(page, "invoked=%lu, success=%lu\n", hctx->poll_invoked, hctx->poll_success); in blk_mq_hw_sysfs_poll_show()
182 static ssize_t blk_mq_hw_sysfs_queued_show(struct blk_mq_hw_ctx *hctx, in blk_mq_hw_sysfs_queued_show() argument
185 return sprintf(page, "%lu\n", hctx->queued); in blk_mq_hw_sysfs_queued_show()
188 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
190 return sprintf(page, "%lu\n", hctx->run); in blk_mq_hw_sysfs_run_show()
193 static ssize_t blk_mq_hw_sysfs_dispatched_show(struct blk_mq_hw_ctx *hctx, in blk_mq_hw_sysfs_dispatched_show() argument
199 page += sprintf(page, "%8u\t%lu\n", 0U, hctx->dispatched[0]); in blk_mq_hw_sysfs_dispatched_show()
204 page += sprintf(page, "%8lu\t%lu\n", d, hctx->dispatched[i]); in blk_mq_hw_sysfs_dispatched_show()
210 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
215 spin_lock(&hctx->lock); in blk_mq_hw_sysfs_rq_list_show()
216 ret = sysfs_list_show(page, &hctx->dispatch, "HCTX pending"); in blk_mq_hw_sysfs_rq_list_show()
217 spin_unlock(&hctx->lock); in blk_mq_hw_sysfs_rq_list_show()
222 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
224 return blk_mq_tag_sysfs_show(hctx->tags, page); in blk_mq_hw_sysfs_tags_show()
227 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
229 return sprintf(page, "%u\n", atomic_read(&hctx->nr_active)); in blk_mq_hw_sysfs_active_show()
232 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
237 for_each_cpu(i, hctx->cpumask) { in blk_mq_hw_sysfs_cpus_show()
347 static void blk_mq_unregister_hctx(struct blk_mq_hw_ctx *hctx) in blk_mq_unregister_hctx() argument
352 if (!hctx->nr_ctx) in blk_mq_unregister_hctx()
355 hctx_for_each_ctx(hctx, ctx, i) in blk_mq_unregister_hctx()
358 kobject_del(&hctx->kobj); in blk_mq_unregister_hctx()
361 static int blk_mq_register_hctx(struct blk_mq_hw_ctx *hctx) in blk_mq_register_hctx() argument
363 struct request_queue *q = hctx->queue; in blk_mq_register_hctx()
367 if (!hctx->nr_ctx) in blk_mq_register_hctx()
370 ret = kobject_add(&hctx->kobj, &q->mq_kobj, "%u", hctx->queue_num); in blk_mq_register_hctx()
374 hctx_for_each_ctx(hctx, ctx, i) { in blk_mq_register_hctx()
375 ret = kobject_add(&ctx->kobj, &hctx->kobj, "cpu%u", ctx->cpu); in blk_mq_register_hctx()
386 struct blk_mq_hw_ctx *hctx; in blk_mq_unregister_disk() local
392 queue_for_each_hw_ctx(q, hctx, i) { in blk_mq_unregister_disk()
393 blk_mq_unregister_hctx(hctx); in blk_mq_unregister_disk()
395 hctx_for_each_ctx(hctx, ctx, j) in blk_mq_unregister_disk()
398 kobject_put(&hctx->kobj); in blk_mq_unregister_disk()
413 struct blk_mq_hw_ctx *hctx; in blk_mq_sysfs_init() local
419 queue_for_each_hw_ctx(q, hctx, i) in blk_mq_sysfs_init()
420 kobject_init(&hctx->kobj, &blk_mq_hw_ktype); in blk_mq_sysfs_init()
430 struct blk_mq_hw_ctx *hctx; in blk_mq_register_disk() local
443 queue_for_each_hw_ctx(q, hctx, i) { in blk_mq_register_disk()
444 ret = blk_mq_register_hctx(hctx); in blk_mq_register_disk()
462 struct blk_mq_hw_ctx *hctx; in blk_mq_sysfs_unregister() local
468 queue_for_each_hw_ctx(q, hctx, i) in blk_mq_sysfs_unregister()
469 blk_mq_unregister_hctx(hctx); in blk_mq_sysfs_unregister()
474 struct blk_mq_hw_ctx *hctx; in blk_mq_sysfs_register() local
480 queue_for_each_hw_ctx(q, hctx, i) { in blk_mq_sysfs_register()
481 ret = blk_mq_register_hctx(hctx); in blk_mq_sysfs_register()