• Home
  • Raw
  • Download

Lines Matching refs:hctx

36 	struct blk_mq_hw_ctx *hctx = container_of(kobj, struct blk_mq_hw_ctx,  in blk_mq_hw_sysfs_release()  local
39 if (hctx->flags & BLK_MQ_F_BLOCKING) in blk_mq_hw_sysfs_release()
40 cleanup_srcu_struct(hctx->srcu); in blk_mq_hw_sysfs_release()
41 blk_free_flush_queue(hctx->fq); in blk_mq_hw_sysfs_release()
42 sbitmap_free(&hctx->ctx_map); in blk_mq_hw_sysfs_release()
43 free_cpumask_var(hctx->cpumask); in blk_mq_hw_sysfs_release()
44 kfree(hctx->ctxs); in blk_mq_hw_sysfs_release()
45 kfree(hctx); in blk_mq_hw_sysfs_release()
106 struct blk_mq_hw_ctx *hctx; in blk_mq_hw_sysfs_show() local
111 hctx = container_of(kobj, struct blk_mq_hw_ctx, kobj); in blk_mq_hw_sysfs_show()
112 q = hctx->queue; in blk_mq_hw_sysfs_show()
118 res = entry->show(hctx, page); in blk_mq_hw_sysfs_show()
128 struct blk_mq_hw_ctx *hctx; in blk_mq_hw_sysfs_store() local
133 hctx = container_of(kobj, struct blk_mq_hw_ctx, kobj); in blk_mq_hw_sysfs_store()
134 q = hctx->queue; in blk_mq_hw_sysfs_store()
140 res = entry->store(hctx, page, length); in blk_mq_hw_sysfs_store()
145 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
148 return sprintf(page, "%u\n", hctx->tags->nr_tags); in blk_mq_hw_sysfs_nr_tags_show()
151 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
154 return sprintf(page, "%u\n", hctx->tags->nr_reserved_tags); in blk_mq_hw_sysfs_nr_reserved_tags_show()
157 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
163 for_each_cpu(i, hctx->cpumask) { in blk_mq_hw_sysfs_cpus_show()
227 static void blk_mq_unregister_hctx(struct blk_mq_hw_ctx *hctx) in blk_mq_unregister_hctx() argument
232 if (!hctx->nr_ctx) in blk_mq_unregister_hctx()
235 hctx_for_each_ctx(hctx, ctx, i) in blk_mq_unregister_hctx()
238 kobject_del(&hctx->kobj); in blk_mq_unregister_hctx()
241 static int blk_mq_register_hctx(struct blk_mq_hw_ctx *hctx) in blk_mq_register_hctx() argument
243 struct request_queue *q = hctx->queue; in blk_mq_register_hctx()
247 if (!hctx->nr_ctx) in blk_mq_register_hctx()
250 ret = kobject_add(&hctx->kobj, q->mq_kobj, "%u", hctx->queue_num); in blk_mq_register_hctx()
254 hctx_for_each_ctx(hctx, ctx, i) { in blk_mq_register_hctx()
255 ret = kobject_add(&ctx->kobj, &hctx->kobj, "cpu%u", ctx->cpu); in blk_mq_register_hctx()
262 hctx_for_each_ctx(hctx, ctx, j) { in blk_mq_register_hctx()
266 kobject_del(&hctx->kobj); in blk_mq_register_hctx()
272 struct blk_mq_hw_ctx *hctx; in blk_mq_unregister_dev() local
277 queue_for_each_hw_ctx(q, hctx, i) in blk_mq_unregister_dev()
278 blk_mq_unregister_hctx(hctx); in blk_mq_unregister_dev()
287 void blk_mq_hctx_kobj_init(struct blk_mq_hw_ctx *hctx) in blk_mq_hctx_kobj_init() argument
289 kobject_init(&hctx->kobj, &blk_mq_hw_ktype); in blk_mq_hctx_kobj_init()
321 struct blk_mq_hw_ctx *hctx; in __blk_mq_register_dev() local
333 queue_for_each_hw_ctx(q, hctx, i) { in __blk_mq_register_dev()
334 ret = blk_mq_register_hctx(hctx); in __blk_mq_register_dev()
356 struct blk_mq_hw_ctx *hctx; in blk_mq_sysfs_unregister() local
363 queue_for_each_hw_ctx(q, hctx, i) in blk_mq_sysfs_unregister()
364 blk_mq_unregister_hctx(hctx); in blk_mq_sysfs_unregister()
372 struct blk_mq_hw_ctx *hctx; in blk_mq_sysfs_register() local
379 queue_for_each_hw_ctx(q, hctx, i) { in blk_mq_sysfs_register()
380 ret = blk_mq_register_hctx(hctx); in blk_mq_sysfs_register()