Home
last modified time | relevance | path

Searched refs:blkg (Results 1 – 11 of 11) sorted by relevance

/linux-6.6.21/block/
Dblk-cgroup.c121 struct blkcg_gq *blkg = container_of(work, struct blkcg_gq, in blkg_free_workfn() local
123 struct request_queue *q = blkg->q; in blkg_free_workfn()
135 if (blkg->pd[i]) in blkg_free_workfn()
136 blkcg_policy[i]->pd_free_fn(blkg->pd[i]); in blkg_free_workfn()
137 if (blkg->parent) in blkg_free_workfn()
138 blkg_put(blkg->parent); in blkg_free_workfn()
140 list_del_init(&blkg->q_node); in blkg_free_workfn()
145 free_percpu(blkg->iostat_cpu); in blkg_free_workfn()
146 percpu_ref_exit(&blkg->refcnt); in blkg_free_workfn()
147 kfree(blkg); in blkg_free_workfn()
[all …]
Dblk-cgroup.h47 struct blkcg_gq *blkg; member
137 struct blkcg_gq *blkg; member
201 const char *blkg_dev_name(struct blkcg_gq *blkg);
213 struct blkcg_gq *blkg; member
250 struct blkcg_gq *blkg; in blkg_lookup() local
255 blkg = rcu_dereference_check(blkcg->blkg_hint, in blkg_lookup()
257 if (blkg && blkg->q == q) in blkg_lookup()
258 return blkg; in blkg_lookup()
260 blkg = radix_tree_lookup(&blkcg->blkg_tree, q->id); in blkg_lookup()
261 if (blkg && blkg->q != q) in blkg_lookup()
[all …]
Dblk-iolatency.c188 static inline struct iolatency_grp *blkg_to_lat(struct blkcg_gq *blkg) in blkg_to_lat() argument
190 return pd_to_lat(blkg_to_pd(blkg, &blkcg_policy_iolatency)); in blkg_to_lat()
466 struct blkcg_gq *blkg = bio->bi_blkg; in blkcg_iolatency_throttle() local
472 while (blkg && blkg->parent) { in blkcg_iolatency_throttle()
473 struct iolatency_grp *iolat = blkg_to_lat(blkg); in blkcg_iolatency_throttle()
475 blkg = blkg->parent; in blkcg_iolatency_throttle()
482 blkg = blkg->parent; in blkcg_iolatency_throttle()
525 struct blkcg_gq *blkg = lat_to_blkg(iolat); in iolatency_check_latencies() local
542 parent = blkg_to_lat(blkg->parent); in iolatency_check_latencies()
593 struct blkcg_gq *blkg; in blkcg_iolatency_done_bio() local
[all …]
Dbfq-cgroup.c284 static struct bfq_group *blkg_to_bfqg(struct blkcg_gq *blkg) in blkg_to_bfqg() argument
286 return pd_to_bfqg(blkg_to_pd(blkg, &blkcg_policy_bfq)); in blkg_to_bfqg()
531 struct blkcg_gq *blkg = pd_to_blkg(pd); in bfq_pd_init() local
532 struct bfq_group *bfqg = blkg_to_bfqg(blkg); in bfq_pd_init()
533 struct bfq_data *bfqd = blkg->q->elevator->elevator_data; in bfq_pd_init()
535 struct bfq_group_data *d = blkcg_to_bfqgd(blkg->blkcg); in bfq_pd_init()
601 struct blkcg_gq *blkg = bio->bi_blkg; in bfq_bio_bfqg() local
604 while (blkg) { in bfq_bio_bfqg()
605 if (!blkg->online) { in bfq_bio_bfqg()
606 blkg = blkg->parent; in bfq_bio_bfqg()
[all …]
Dblk-cgroup-rwstat.c52 const char *dname = blkg_dev_name(pd->blkg); in __blkg_prfill_rwstat()
103 void blkg_rwstat_recursive_sum(struct blkcg_gq *blkg, struct blkcg_policy *pol, in blkg_rwstat_recursive_sum() argument
110 lockdep_assert_held(&blkg->q->queue_lock); in blkg_rwstat_recursive_sum()
114 blkg_for_each_descendant_pre(pos_blkg, pos_css, blkg) { in blkg_rwstat_recursive_sum()
Dblk-throttle.c149 struct blkcg_gq *blkg = tg_to_blkg(tg); in tg_bps_limit() local
153 if (cgroup_subsys_on_dfl(io_cgrp_subsys) && !blkg->parent) in tg_bps_limit()
160 if (!list_empty(&blkg->blkcg->css.children) || in tg_bps_limit()
179 struct blkcg_gq *blkg = tg_to_blkg(tg); in tg_iops_limit() local
183 if (cgroup_subsys_on_dfl(io_cgrp_subsys) && !blkg->parent) in tg_iops_limit()
190 if (!list_empty(&blkg->blkcg->css.children) || in tg_iops_limit()
389 struct blkcg_gq *blkg = tg_to_blkg(tg); in throtl_pd_init() local
390 struct throtl_data *td = blkg->q->td; in throtl_pd_init()
408 if (cgroup_subsys_on_dfl(io_cgrp_subsys) && blkg->parent) in throtl_pd_init()
409 sq->parent_sq = &blkg_to_tg(blkg->parent)->service_queue; in throtl_pd_init()
[all …]
Dblk-throttle.h162 static inline struct throtl_grp *blkg_to_tg(struct blkcg_gq *blkg) in blkg_to_tg() argument
164 return pd_to_tg(blkg_to_pd(blkg, &blkcg_policy_throtl)); in blkg_to_tg()
Dblk-iocost.c684 static struct ioc_gq *blkg_to_iocg(struct blkcg_gq *blkg) in blkg_to_iocg() argument
686 return pd_to_iocg(blkg_to_pd(blkg, &blkcg_policy_iocost)); in blkg_to_iocg()
1249 struct blkcg_gq *blkg = iocg_to_blkg(iocg); in weight_updated() local
1250 struct ioc_cgrp *iocc = blkcg_to_iocc(blkg->blkcg); in weight_updated()
1349 struct blkcg_gq *blkg = iocg_to_blkg(iocg); in iocg_kick_delay() local
1397 blkcg_set_delay(blkg, delay * NSEC_PER_USEC); in iocg_kick_delay()
1405 blkcg_clear_delay(blkg); in iocg_kick_delay()
2597 struct blkcg_gq *blkg = bio->bi_blkg; in ioc_rqos_throttle() local
2599 struct ioc_gq *iocg = blkg_to_iocg(blkg); in ioc_rqos_throttle()
2975 struct blkcg_gq *blkg = pd_to_blkg(&iocg->pd); in ioc_pd_init() local
[all …]
Dblk-cgroup-rwstat.h48 void blkg_rwstat_recursive_sum(struct blkcg_gq *blkg, struct blkcg_policy *pol,
Dblk-ioprio.c94 return blkcg_to_ioprio_blkcg(pd->blkg->blkcg); in ioprio_blkcg_from_bio()
/linux-6.6.21/tools/cgroup/
Diocost_monitor.py79 blkg = drgn.Object(prog, 'struct blkcg_gq',
81 if not blkg.address_:
84 self.blkgs.append((path if path else '/', blkg))
146 blkg = iocg.pd.blkg
170 if blkg.use_delay.counter.value_() != 0:
171 self.delay_ms = blkg.delay_nsec.counter.value_() / 1_000_000
229 blkg = drgn.Object(prog, 'struct blkcg_gq', address=ptr) variable
231 if devname == blkg.q.mq_kobj.parent.name.string_().decode('utf-8'):
232 q_id = blkg.q.id.value_()
233 if blkg.pd[plid]:
[all …]