blkcg 476 block/bfq-cgroup.c static struct bfq_group_data *blkcg_to_bfqgd(struct blkcg *blkcg) blkcg 478 block/bfq-cgroup.c return cpd_to_bfqgd(blkcg_to_cpd(blkcg, &blkcg_policy_bfq)); blkcg 505 block/bfq-cgroup.c struct blkcg *blkcg) blkcg 529 block/bfq-cgroup.c struct bfq_group_data *d = blkcg_to_bfqgd(blkg->blkcg); blkcg 568 block/bfq-cgroup.c struct blkcg *blkcg) blkcg 572 block/bfq-cgroup.c blkg = blkg_lookup(blkcg, bfqd->queue); blkcg 579 block/bfq-cgroup.c struct blkcg *blkcg) blkcg 584 block/bfq-cgroup.c bfqg = bfq_lookup_bfqg(bfqd, blkcg); blkcg 683 block/bfq-cgroup.c struct blkcg *blkcg) blkcg 690 block/bfq-cgroup.c bfqg = bfq_find_set_group(bfqd, blkcg); blkcg 936 block/bfq-cgroup.c struct blkcg *blkcg = css_to_blkcg(seq_css(sf)); blkcg 937 block/bfq-cgroup.c struct bfq_group_data *bfqgd = blkcg_to_bfqgd(blkcg); blkcg 960 block/bfq-cgroup.c struct blkcg *blkcg = css_to_blkcg(seq_css(sf)); blkcg 961 block/bfq-cgroup.c struct bfq_group_data *bfqgd = blkcg_to_bfqgd(blkcg); blkcg 964 block/bfq-cgroup.c blkcg_print_blkgs(sf, blkcg, bfqg_prfill_weight_device, blkcg 1006 block/bfq-cgroup.c struct blkcg *blkcg = css_to_blkcg(css); blkcg 1007 block/bfq-cgroup.c struct bfq_group_data *bfqgd = blkcg_to_bfqgd(blkcg); blkcg 1015 block/bfq-cgroup.c spin_lock_irq(&blkcg->lock); blkcg 1017 block/bfq-cgroup.c hlist_for_each_entry(blkg, &blkcg->blkg_list, blkcg_node) { blkcg 1023 block/bfq-cgroup.c spin_unlock_irq(&blkcg->lock); blkcg 1034 block/bfq-cgroup.c struct blkcg *blkcg = css_to_blkcg(of_css(of)); blkcg 1038 block/bfq-cgroup.c ret = blkg_conf_prep(blkcg, &blkcg_policy_bfq, buf, &ctx); blkcg 1399 block/bfq-cgroup.c struct bfq_group *bfq_find_set_group(struct bfq_data *bfqd, struct blkcg *blkcg) blkcg 979 block/bfq-iosched.h struct blkcg *blkcg); blkcg 1070 block/bfq-iosched.h bfqg_to_blkg(bfqq_group(bfqq))->blkcg, \ blkcg 1077 block/bfq-iosched.h bfqg_to_blkg(bfqg)->blkcg, fmt, ##args); \ blkcg 47 block/blk-cgroup.c struct blkcg blkcg_root; blkcg 96 block/blk-cgroup.c css_put(&blkg->blkcg->css); blkcg 145 block/blk-cgroup.c static struct blkcg_gq *blkg_alloc(struct blkcg *blkcg, struct request_queue *q, blkcg 168 block/blk-cgroup.c blkg->blkcg = blkcg; blkcg 178 block/blk-cgroup.c pd = pol->pd_alloc_fn(gfp_mask, q, blkcg); blkcg 194 block/blk-cgroup.c struct blkcg_gq *blkg_lookup_slowpath(struct blkcg *blkcg, blkcg 205 block/blk-cgroup.c blkg = radix_tree_lookup(&blkcg->blkg_tree, q->id); blkcg 209 block/blk-cgroup.c rcu_assign_pointer(blkcg->blkg_hint, blkg); blkcg 222 block/blk-cgroup.c static struct blkcg_gq *blkg_create(struct blkcg *blkcg, blkcg 240 block/blk-cgroup.c if (!css_tryget_online(&blkcg->css)) { blkcg 246 block/blk-cgroup.c blkcg->css.id, blkcg 255 block/blk-cgroup.c new_blkg = blkg_alloc(blkcg, q, GFP_NOWAIT | __GFP_NOWARN); blkcg 265 block/blk-cgroup.c if (blkcg_parent(blkcg)) { blkcg 266 block/blk-cgroup.c blkg->parent = __blkg_lookup(blkcg_parent(blkcg), q, false); blkcg 283 block/blk-cgroup.c spin_lock(&blkcg->lock); blkcg 284 block/blk-cgroup.c ret = radix_tree_insert(&blkcg->blkg_tree, q->id, blkg); blkcg 286 block/blk-cgroup.c hlist_add_head_rcu(&blkg->blkcg_node, &blkcg->blkg_list); blkcg 297 block/blk-cgroup.c spin_unlock(&blkcg->lock); blkcg 309 block/blk-cgroup.c css_put(&blkcg->css); blkcg 328 block/blk-cgroup.c struct blkcg_gq *__blkg_lookup_create(struct blkcg *blkcg, blkcg 336 block/blk-cgroup.c blkg = __blkg_lookup(blkcg, q, true); blkcg 346 block/blk-cgroup.c struct blkcg *pos = blkcg; blkcg 347 block/blk-cgroup.c struct blkcg *parent = blkcg_parent(blkcg); blkcg 364 block/blk-cgroup.c if (pos == blkcg) blkcg 377 block/blk-cgroup.c struct blkcg_gq *blkg_lookup_create(struct blkcg *blkcg, blkcg 380 block/blk-cgroup.c struct blkcg_gq *blkg = blkg_lookup(blkcg, q); blkcg 386 block/blk-cgroup.c blkg = __blkg_lookup_create(blkcg, q); blkcg 395 block/blk-cgroup.c struct blkcg *blkcg = blkg->blkcg; blkcg 400 block/blk-cgroup.c lockdep_assert_held(&blkcg->lock); blkcg 420 block/blk-cgroup.c radix_tree_delete(&blkcg->blkg_tree, blkg->q->id); blkcg 429 block/blk-cgroup.c if (rcu_access_pointer(blkcg->blkg_hint) == blkg) blkcg 430 block/blk-cgroup.c rcu_assign_pointer(blkcg->blkg_hint, NULL); blkcg 451 block/blk-cgroup.c struct blkcg *blkcg = blkg->blkcg; blkcg 453 block/blk-cgroup.c spin_lock(&blkcg->lock); blkcg 455 block/blk-cgroup.c spin_unlock(&blkcg->lock); blkcg 465 block/blk-cgroup.c struct blkcg *blkcg = css_to_blkcg(css); blkcg 470 block/blk-cgroup.c spin_lock_irq(&blkcg->lock); blkcg 477 block/blk-cgroup.c hlist_for_each_entry(blkg, &blkcg->blkg_list, blkcg_node) { blkcg 489 block/blk-cgroup.c spin_unlock_irq(&blkcg->lock); blkcg 520 block/blk-cgroup.c void blkcg_print_blkgs(struct seq_file *sf, struct blkcg *blkcg, blkcg 530 block/blk-cgroup.c hlist_for_each_entry_rcu(blkg, &blkcg->blkg_list, blkcg_node) { blkcg 744 block/blk-cgroup.c static struct blkcg_gq *blkg_lookup_check(struct blkcg *blkcg, blkcg 753 block/blk-cgroup.c return __blkg_lookup(blkcg, q, true /* update_hint */); blkcg 806 block/blk-cgroup.c int blkg_conf_prep(struct blkcg *blkcg, const struct blkcg_policy *pol, blkcg 824 block/blk-cgroup.c blkg = blkg_lookup_check(blkcg, pol, q); blkcg 838 block/blk-cgroup.c struct blkcg *pos = blkcg; blkcg 839 block/blk-cgroup.c struct blkcg *parent; blkcg 842 block/blk-cgroup.c parent = blkcg_parent(blkcg); blkcg 877 block/blk-cgroup.c if (pos == blkcg) blkcg 923 block/blk-cgroup.c struct blkcg *blkcg = css_to_blkcg(seq_css(sf)); blkcg 928 block/blk-cgroup.c hlist_for_each_entry_rcu(blkg, &blkcg->blkg_list, blkcg_node) { blkcg 1059 block/blk-cgroup.c struct blkcg *blkcg = css_to_blkcg(css); blkcg 1062 block/blk-cgroup.c wb_blkcg_offline(blkcg); blkcg 1065 block/blk-cgroup.c blkcg_cgwb_put(blkcg); blkcg 1079 block/blk-cgroup.c void blkcg_destroy_blkgs(struct blkcg *blkcg) blkcg 1081 block/blk-cgroup.c spin_lock_irq(&blkcg->lock); blkcg 1083 block/blk-cgroup.c while (!hlist_empty(&blkcg->blkg_list)) { blkcg 1084 block/blk-cgroup.c struct blkcg_gq *blkg = hlist_entry(blkcg->blkg_list.first, blkcg 1092 block/blk-cgroup.c spin_unlock_irq(&blkcg->lock); blkcg 1094 block/blk-cgroup.c spin_lock_irq(&blkcg->lock); blkcg 1098 block/blk-cgroup.c spin_unlock_irq(&blkcg->lock); blkcg 1103 block/blk-cgroup.c struct blkcg *blkcg = css_to_blkcg(css); blkcg 1108 block/blk-cgroup.c list_del(&blkcg->all_blkcgs_node); blkcg 1111 block/blk-cgroup.c if (blkcg->cpd[i]) blkcg 1112 block/blk-cgroup.c blkcg_policy[i]->cpd_free_fn(blkcg->cpd[i]); blkcg 1116 block/blk-cgroup.c kfree(blkcg); blkcg 1122 block/blk-cgroup.c struct blkcg *blkcg; blkcg 1129 block/blk-cgroup.c blkcg = &blkcg_root; blkcg 1131 block/blk-cgroup.c blkcg = kzalloc(sizeof(*blkcg), GFP_KERNEL); blkcg 1132 block/blk-cgroup.c if (!blkcg) { blkcg 1156 block/blk-cgroup.c blkcg->cpd[i] = cpd; blkcg 1157 block/blk-cgroup.c cpd->blkcg = blkcg; blkcg 1163 block/blk-cgroup.c spin_lock_init(&blkcg->lock); blkcg 1164 block/blk-cgroup.c INIT_RADIX_TREE(&blkcg->blkg_tree, GFP_NOWAIT | __GFP_NOWARN); blkcg 1165 block/blk-cgroup.c INIT_HLIST_HEAD(&blkcg->blkg_list); blkcg 1167 block/blk-cgroup.c INIT_LIST_HEAD(&blkcg->cgwb_list); blkcg 1168 block/blk-cgroup.c refcount_set(&blkcg->cgwb_refcnt, 1); blkcg 1170 block/blk-cgroup.c list_add_tail(&blkcg->all_blkcgs_node, &all_blkcgs); blkcg 1173 block/blk-cgroup.c return &blkcg->css; blkcg 1177 block/blk-cgroup.c if (blkcg->cpd[i]) blkcg 1178 block/blk-cgroup.c blkcg_policy[i]->cpd_free_fn(blkcg->cpd[i]); blkcg 1180 block/blk-cgroup.c if (blkcg != &blkcg_root) blkcg 1181 block/blk-cgroup.c kfree(blkcg); blkcg 1308 block/blk-cgroup.c struct blkcg *blkcg; blkcg 1313 block/blk-cgroup.c list_for_each_entry(blkcg, &all_blkcgs, all_blkcgs_node) blkcg 1314 block/blk-cgroup.c if (blkcg->cpd[pol->plid]) blkcg 1315 block/blk-cgroup.c pol->cpd_bind_fn(blkcg->cpd[pol->plid]); blkcg 1392 block/blk-cgroup.c blkg->blkcg); blkcg 1410 block/blk-cgroup.c blkg->blkcg); blkcg 1503 block/blk-cgroup.c struct blkcg *blkcg; blkcg 1530 block/blk-cgroup.c list_for_each_entry(blkcg, &all_blkcgs, all_blkcgs_node) { blkcg 1537 block/blk-cgroup.c blkcg->cpd[pol->plid] = cpd; blkcg 1538 block/blk-cgroup.c cpd->blkcg = blkcg; blkcg 1559 block/blk-cgroup.c list_for_each_entry(blkcg, &all_blkcgs, all_blkcgs_node) { blkcg 1560 block/blk-cgroup.c if (blkcg->cpd[pol->plid]) { blkcg 1561 block/blk-cgroup.c pol->cpd_free_fn(blkcg->cpd[pol->plid]); blkcg 1562 block/blk-cgroup.c blkcg->cpd[pol->plid] = NULL; blkcg 1582 block/blk-cgroup.c struct blkcg *blkcg; blkcg 1599 block/blk-cgroup.c list_for_each_entry(blkcg, &all_blkcgs, all_blkcgs_node) { blkcg 1600 block/blk-cgroup.c if (blkcg->cpd[pol->plid]) { blkcg 1601 block/blk-cgroup.c pol->cpd_free_fn(blkcg->cpd[pol->plid]); blkcg 1602 block/blk-cgroup.c blkcg->cpd[pol->plid] = NULL; blkcg 1751 block/blk-cgroup.c struct blkcg *blkcg; blkcg 1764 block/blk-cgroup.c blkcg = css_to_blkcg(css); blkcg 1766 block/blk-cgroup.c blkcg = css_to_blkcg(task_css(current, io_cgrp_id)); blkcg 1768 block/blk-cgroup.c if (!blkcg) blkcg 1770 block/blk-cgroup.c blkg = blkg_lookup(blkcg, q); blkcg 201 block/blk-iocost.c cgroup_path(iocg_to_blkg(iocg)->blkcg->css.cgroup, \ blkcg 649 block/blk-iocost.c static struct ioc_cgrp *blkcg_to_iocc(struct blkcg *blkcg) blkcg 651 block/blk-iocost.c return container_of(blkcg_to_cpd(blkcg, &blkcg_policy_iocost), blkcg 1015 block/blk-iocost.c struct ioc_cgrp *iocc = blkcg_to_iocc(blkg->blkcg); blkcg 2003 block/blk-iocost.c struct blkcg *blkcg) blkcg 2005 block/blk-iocost.c int levels = blkcg->css.cgroup->level + 1; blkcg 2041 block/blk-iocost.c iocg->level = blkg->blkcg->css.cgroup->level; blkcg 2086 block/blk-iocost.c struct blkcg *blkcg = css_to_blkcg(seq_css(sf)); blkcg 2087 block/blk-iocost.c struct ioc_cgrp *iocc = blkcg_to_iocc(blkcg); blkcg 2090 block/blk-iocost.c blkcg_print_blkgs(sf, blkcg, ioc_weight_prfill, blkcg 2098 block/blk-iocost.c struct blkcg *blkcg = css_to_blkcg(of_css(of)); blkcg 2099 block/blk-iocost.c struct ioc_cgrp *iocc = blkcg_to_iocc(blkcg); blkcg 2114 block/blk-iocost.c spin_lock(&blkcg->lock); blkcg 2116 block/blk-iocost.c hlist_for_each_entry(blkg, &blkcg->blkg_list, blkcg_node) { blkcg 2125 block/blk-iocost.c spin_unlock(&blkcg->lock); blkcg 2130 block/blk-iocost.c ret = blkg_conf_prep(blkcg, &blkcg_policy_iocost, buf, &ctx); blkcg 2184 block/blk-iocost.c struct blkcg *blkcg = css_to_blkcg(seq_css(sf)); blkcg 2186 block/blk-iocost.c blkcg_print_blkgs(sf, blkcg, ioc_qos_prfill, blkcg 2350 block/blk-iocost.c struct blkcg *blkcg = css_to_blkcg(seq_css(sf)); blkcg 2352 block/blk-iocost.c blkcg_print_blkgs(sf, blkcg, ioc_cost_model_prfill, blkcg 790 block/blk-iolatency.c struct blkcg *blkcg = css_to_blkcg(of_css(of)); blkcg 800 block/blk-iolatency.c ret = blkg_conf_prep(blkcg, &blkcg_policy_iolatency, buf, &ctx); blkcg 939 block/blk-iolatency.c struct blkcg *blkcg) blkcg 305 block/blk-throttle.c if (!list_empty(&blkg->blkcg->css.children) || blkcg 335 block/blk-throttle.c if (!list_empty(&blkg->blkcg->css.children) || blkcg 375 block/blk-throttle.c tg_to_blkg(__tg)->blkcg, "throtl " fmt, ##args);\ blkcg 483 block/blk-throttle.c struct blkcg *blkcg) blkcg 1425 block/blk-throttle.c struct blkcg *blkcg = css_to_blkcg(of_css(of)); blkcg 1431 block/blk-throttle.c ret = blkg_conf_prep(blkcg, &blkcg_policy_throtl, buf, &ctx); blkcg 1588 block/blk-throttle.c struct blkcg *blkcg = css_to_blkcg(of_css(of)); blkcg 1597 block/blk-throttle.c ret = blkg_conf_prep(blkcg, &blkcg_policy_throtl, buf, &ctx); blkcg 1861 block/blk-throttle.c if (!list_empty(&tg_to_blkg(tg)->blkcg->css.children)) blkcg 1943 block/blk-throttle.c !list_empty(&tg_to_blkg(tg)->blkcg->css.children))) blkcg 1970 block/blk-throttle.c if (!list_empty(&tg_to_blkg(tg)->blkcg->css.children)) blkcg 240 include/linux/backing-dev.h void wb_blkcg_offline(struct blkcg *blkcg); blkcg 460 include/linux/backing-dev.h static inline void wb_blkcg_offline(struct blkcg *blkcg) blkcg 103 include/linux/blk-cgroup.h struct blkcg *blkcg; blkcg 113 include/linux/blk-cgroup.h struct blkcg *blkcg; blkcg 183 include/linux/blk-cgroup.h extern struct blkcg blkcg_root; blkcg 187 include/linux/blk-cgroup.h struct blkcg_gq *blkg_lookup_slowpath(struct blkcg *blkcg, blkcg 189 include/linux/blk-cgroup.h struct blkcg_gq *__blkg_lookup_create(struct blkcg *blkcg, blkcg 191 include/linux/blk-cgroup.h struct blkcg_gq *blkg_lookup_create(struct blkcg *blkcg, blkcg 213 include/linux/blk-cgroup.h void blkcg_print_blkgs(struct seq_file *sf, struct blkcg *blkcg, blkcg 238 include/linux/blk-cgroup.h int blkg_conf_prep(struct blkcg *blkcg, const struct blkcg_policy *pol, blkcg 259 include/linux/blk-cgroup.h static inline struct blkcg *css_to_blkcg(struct cgroup_subsys_state *css) blkcg 261 include/linux/blk-cgroup.h return css ? container_of(css, struct blkcg, css) : NULL; blkcg 278 include/linux/blk-cgroup.h static inline struct blkcg *__bio_blkcg(struct bio *bio) blkcg 281 include/linux/blk-cgroup.h return bio->bi_blkg->blkcg; blkcg 293 include/linux/blk-cgroup.h static inline struct blkcg *bio_blkcg(struct bio *bio) blkcg 296 include/linux/blk-cgroup.h return bio->bi_blkg->blkcg; blkcg 342 include/linux/blk-cgroup.h static inline struct blkcg *blkcg_parent(struct blkcg *blkcg) blkcg 344 include/linux/blk-cgroup.h return css_to_blkcg(blkcg->css.parent); blkcg 358 include/linux/blk-cgroup.h static inline struct blkcg_gq *__blkg_lookup(struct blkcg *blkcg, blkcg 364 include/linux/blk-cgroup.h if (blkcg == &blkcg_root) blkcg 367 include/linux/blk-cgroup.h blkg = rcu_dereference(blkcg->blkg_hint); blkcg 371 include/linux/blk-cgroup.h return blkg_lookup_slowpath(blkcg, q, update_hint); blkcg 382 include/linux/blk-cgroup.h static inline struct blkcg_gq *blkg_lookup(struct blkcg *blkcg, blkcg 386 include/linux/blk-cgroup.h return __blkg_lookup(blkcg, q, false); blkcg 413 include/linux/blk-cgroup.h static inline struct blkcg_policy_data *blkcg_to_cpd(struct blkcg *blkcg, blkcg 416 include/linux/blk-cgroup.h return blkcg ? blkcg->cpd[pol->plid] : NULL; blkcg 430 include/linux/blk-cgroup.h static inline struct blkcg *cpd_to_blkcg(struct blkcg_policy_data *cpd) blkcg 432 include/linux/blk-cgroup.h return cpd ? cpd->blkcg : NULL; blkcg 435 include/linux/blk-cgroup.h extern void blkcg_destroy_blkgs(struct blkcg *blkcg); blkcg 445 include/linux/blk-cgroup.h static inline void blkcg_cgwb_get(struct blkcg *blkcg) blkcg 447 include/linux/blk-cgroup.h refcount_inc(&blkcg->cgwb_refcnt); blkcg 460 include/linux/blk-cgroup.h static inline void blkcg_cgwb_put(struct blkcg *blkcg) blkcg 462 include/linux/blk-cgroup.h if (refcount_dec_and_test(&blkcg->cgwb_refcnt)) blkcg 463 include/linux/blk-cgroup.h blkcg_destroy_blkgs(blkcg); blkcg 468 include/linux/blk-cgroup.h static inline void blkcg_cgwb_get(struct blkcg *blkcg) { } blkcg 470 include/linux/blk-cgroup.h static inline void blkcg_cgwb_put(struct blkcg *blkcg) blkcg 473 include/linux/blk-cgroup.h blkcg_destroy_blkgs(blkcg); blkcg 488 include/linux/blk-cgroup.h return cgroup_path(blkg->blkcg->css.cgroup, buf, buflen); blkcg 562 include/linux/blk-cgroup.h css_for_each_descendant_pre((pos_css), &(p_blkg)->blkcg->css) \ blkcg 577 include/linux/blk-cgroup.h css_for_each_descendant_post((pos_css), &(p_blkg)->blkcg->css) \ blkcg 768 include/linux/blk-cgroup.h atomic_inc(&blkg->blkcg->css.cgroup->congestion_count); blkcg 795 include/linux/blk-cgroup.h atomic_dec(&blkg->blkcg->css.cgroup->congestion_count); blkcg 808 include/linux/blk-cgroup.h atomic_dec(&blkg->blkcg->css.cgroup->congestion_count); blkcg 844 include/linux/blk-cgroup.h static inline struct blkcg_gq *blkg_lookup(struct blkcg *blkcg, void *key) { return NULL; } blkcg 857 include/linux/blk-cgroup.h static inline struct blkcg *__bio_blkcg(struct bio *bio) { return NULL; } blkcg 858 include/linux/blk-cgroup.h static inline struct blkcg *bio_blkcg(struct bio *bio) { return NULL; } blkcg 32 include/linux/blktrace_api.h struct blkcg; blkcg 37 include/linux/blktrace_api.h void __trace_note_message(struct blk_trace *, struct blkcg *blkcg, const char *fmt, ...); blkcg 146 kernel/trace/blktrace.c void __trace_note_message(struct blk_trace *bt, struct blkcg *blkcg, blkcg 172 kernel/trace/blktrace.c blkcg = NULL; blkcg 175 kernel/trace/blktrace.c blkcg ? cgroup_get_kernfs_id(blkcg->css.cgroup) : NULL); blkcg 485 mm/backing-dev.c struct blkcg *blkcg = css_to_blkcg(wb->blkcg_css); blkcg 495 mm/backing-dev.c blkcg_cgwb_put(blkcg); blkcg 532 mm/backing-dev.c struct blkcg *blkcg; blkcg 540 mm/backing-dev.c blkcg = css_to_blkcg(blkcg_css); blkcg 542 mm/backing-dev.c blkcg_cgwb_list = &blkcg->cgwb_list; blkcg 595 mm/backing-dev.c blkcg_cgwb_get(blkcg); blkcg 762 mm/backing-dev.c void wb_blkcg_offline(struct blkcg *blkcg) blkcg 767 mm/backing-dev.c list_for_each_entry_safe(wb, next, &blkcg->cgwb_list, blkcg_node) blkcg 769 mm/backing-dev.c blkcg->cgwb_list.next = NULL; /* prevent new wb's */