Lines Matching refs:hctx
22 struct blk_mq_hw_ctx *hctx = container_of(kobj, struct blk_mq_hw_ctx, in blk_mq_hw_sysfs_release() local
24 free_cpumask_var(hctx->cpumask); in blk_mq_hw_sysfs_release()
25 kfree(hctx->ctxs); in blk_mq_hw_sysfs_release()
26 kfree(hctx); in blk_mq_hw_sysfs_release()
91 struct blk_mq_hw_ctx *hctx; in blk_mq_hw_sysfs_show() local
96 hctx = container_of(kobj, struct blk_mq_hw_ctx, kobj); in blk_mq_hw_sysfs_show()
97 q = hctx->queue; in blk_mq_hw_sysfs_show()
105 res = entry->show(hctx, page); in blk_mq_hw_sysfs_show()
115 struct blk_mq_hw_ctx *hctx; in blk_mq_hw_sysfs_store() local
120 hctx = container_of(kobj, struct blk_mq_hw_ctx, kobj); in blk_mq_hw_sysfs_store()
121 q = hctx->queue; in blk_mq_hw_sysfs_store()
129 res = entry->store(hctx, page, length); in blk_mq_hw_sysfs_store()
134 static ssize_t blk_mq_hw_sysfs_nr_tags_show(struct blk_mq_hw_ctx *hctx, in blk_mq_hw_sysfs_nr_tags_show() argument
137 return sprintf(page, "%u\n", hctx->tags->nr_tags); in blk_mq_hw_sysfs_nr_tags_show()
140 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() argument
143 return sprintf(page, "%u\n", hctx->tags->nr_reserved_tags); in blk_mq_hw_sysfs_nr_reserved_tags_show()
146 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
151 for_each_cpu(i, hctx->cpumask) { in blk_mq_hw_sysfs_cpus_show()
215 static void blk_mq_unregister_hctx(struct blk_mq_hw_ctx *hctx) in blk_mq_unregister_hctx() argument
220 if (!hctx->nr_ctx) in blk_mq_unregister_hctx()
223 hctx_for_each_ctx(hctx, ctx, i) in blk_mq_unregister_hctx()
226 kobject_del(&hctx->kobj); in blk_mq_unregister_hctx()
229 static int blk_mq_register_hctx(struct blk_mq_hw_ctx *hctx) in blk_mq_register_hctx() argument
231 struct request_queue *q = hctx->queue; in blk_mq_register_hctx()
235 if (!hctx->nr_ctx) in blk_mq_register_hctx()
238 ret = kobject_add(&hctx->kobj, &q->mq_kobj, "%u", hctx->queue_num); in blk_mq_register_hctx()
242 hctx_for_each_ctx(hctx, ctx, i) { in blk_mq_register_hctx()
243 ret = kobject_add(&ctx->kobj, &hctx->kobj, "cpu%u", ctx->cpu); in blk_mq_register_hctx()
253 struct blk_mq_hw_ctx *hctx; in blk_mq_unregister_dev() local
258 queue_for_each_hw_ctx(q, hctx, i) in blk_mq_unregister_dev()
259 blk_mq_unregister_hctx(hctx); in blk_mq_unregister_dev()
268 void blk_mq_hctx_kobj_init(struct blk_mq_hw_ctx *hctx) in blk_mq_hctx_kobj_init() argument
270 kobject_init(&hctx->kobj, &blk_mq_hw_ktype); in blk_mq_hctx_kobj_init()
300 struct blk_mq_hw_ctx *hctx; in __blk_mq_register_dev() local
312 queue_for_each_hw_ctx(q, hctx, i) { in __blk_mq_register_dev()
313 ret = blk_mq_register_hctx(hctx); in __blk_mq_register_dev()
347 struct blk_mq_hw_ctx *hctx; in blk_mq_sysfs_unregister() local
354 queue_for_each_hw_ctx(q, hctx, i) in blk_mq_sysfs_unregister()
355 blk_mq_unregister_hctx(hctx); in blk_mq_sysfs_unregister()
363 struct blk_mq_hw_ctx *hctx; in blk_mq_sysfs_register() local
370 queue_for_each_hw_ctx(q, hctx, i) { in blk_mq_sysfs_register()
371 ret = blk_mq_register_hctx(hctx); in blk_mq_sysfs_register()