Symbol: blkcg
block/bfq-cgroup.c
1037
struct blkcg *blkcg = css_to_blkcg(css);
block/bfq-cgroup.c
1038
struct bfq_group_data *bfqgd = blkcg_to_bfqgd(blkcg);
block/bfq-cgroup.c
1046
spin_lock_irq(&blkcg->lock);
block/bfq-cgroup.c
1048
hlist_for_each_entry(blkg, &blkcg->blkg_list, blkcg_node) {
block/bfq-cgroup.c
1054
spin_unlock_irq(&blkcg->lock);
block/bfq-cgroup.c
1065
struct blkcg *blkcg = css_to_blkcg(of_css(of));
block/bfq-cgroup.c
1075
ret = blkg_conf_prep(blkcg, &blkcg_policy_bfq, &ctx);
block/bfq-cgroup.c
490
static struct bfq_group_data *blkcg_to_bfqgd(struct blkcg *blkcg)
block/bfq-cgroup.c
492
return cpd_to_bfqgd(blkcg_to_cpd(blkcg, &blkcg_policy_bfq));
block/bfq-cgroup.c
513
struct blkcg *blkcg, gfp_t gfp)
block/bfq-cgroup.c
537
struct bfq_group_data *d = blkcg_to_bfqgd(blkg->blkcg);
block/bfq-cgroup.c
619
bio_associate_blkg_from_css(bio, &blkg->blkcg->css);
block/bfq-cgroup.c
625
&bfqg_to_blkg(bfqd->root_group)->blkcg->css);
block/bfq-cgroup.c
788
serial_nr = bfqg_to_blkg(bfqg)->blkcg->css.serial_nr;
block/bfq-cgroup.c
967
struct blkcg *blkcg = css_to_blkcg(seq_css(sf));
block/bfq-cgroup.c
968
struct bfq_group_data *bfqgd = blkcg_to_bfqgd(blkcg);
block/bfq-cgroup.c
991
struct blkcg *blkcg = css_to_blkcg(seq_css(sf));
block/bfq-cgroup.c
992
struct bfq_group_data *bfqgd = blkcg_to_bfqgd(blkcg);
block/bfq-cgroup.c
995
blkcg_print_blkgs(sf, blkcg, bfqg_prfill_weight_device,
block/bfq-iosched.c
604
depth = bfqg_to_blkg(bfqq_group(bfqq))->blkcg->css.cgroup->level + 1;
block/bfq-iosched.h
1183
&bfqg_to_blkg(bfqq_group(bfqq))->blkcg->css, \
block/blk-cgroup-fc-appid.c
15
struct blkcg *blkcg;
block/blk-cgroup-fc-appid.c
29
blkcg = css_to_blkcg(css);
block/blk-cgroup-fc-appid.c
37
strscpy(blkcg->fc_app_id, app_id, app_id_len);
block/blk-cgroup-fc-appid.c
53
if (!bio->bi_blkg || bio->bi_blkg->blkcg->fc_app_id[0] == '\0')
block/blk-cgroup-fc-appid.c
55
return bio->bi_blkg->blkcg->fc_app_id;
block/blk-cgroup.c
1059
plhead = per_cpu_ptr(parent->blkcg->lhead, cpu);
block/blk-cgroup.c
1183
struct blkcg *blkcg = css_to_blkcg(seq_css(sf));
block/blk-cgroup.c
1189
css_rstat_flush(&blkcg->css);
block/blk-cgroup.c
1191
guard(spinlock_irq)(&blkcg->lock);
block/blk-cgroup.c
1192
hlist_for_each_entry(blkg, &blkcg->blkg_list, blkcg_node)
block/blk-cgroup.c
1242
static struct blkcg_gq *blkcg_get_first_blkg(struct blkcg *blkcg)
block/blk-cgroup.c
1246
spin_lock_irq(&blkcg->lock);
block/blk-cgroup.c
1247
if (!hlist_empty(&blkcg->blkg_list)) {
block/blk-cgroup.c
1248
blkg = hlist_entry(blkcg->blkg_list.first, struct blkcg_gq,
block/blk-cgroup.c
1252
spin_unlock_irq(&blkcg->lock);
block/blk-cgroup.c
1268
static void blkcg_destroy_blkgs(struct blkcg *blkcg)
block/blk-cgroup.c
1274
while ((blkg = blkcg_get_first_blkg(blkcg))) {
block/blk-cgroup.c
1278
spin_lock(&blkcg->lock);
block/blk-cgroup.c
1282
spin_unlock(&blkcg->lock);
block/blk-cgroup.c
1314
struct blkcg *blkcg = css_to_blkcg(blkcg_css);
block/blk-cgroup.c
1317
struct blkcg *parent;
block/blk-cgroup.c
1319
if (!refcount_dec_and_test(&blkcg->online_pin))
block/blk-cgroup.c
1322
parent = blkcg_parent(blkcg);
block/blk-cgroup.c
1323
blkcg_destroy_blkgs(blkcg);
block/blk-cgroup.c
1324
blkcg = parent;
block/blk-cgroup.c
1325
} while (blkcg);
block/blk-cgroup.c
1347
struct blkcg *blkcg = css_to_blkcg(css);
block/blk-cgroup.c
1352
list_del(&blkcg->all_blkcgs_node);
block/blk-cgroup.c
1355
if (blkcg->cpd[i])
block/blk-cgroup.c
1356
blkcg_policy[i]->cpd_free_fn(blkcg->cpd[i]);
block/blk-cgroup.c
1360
free_percpu(blkcg->lhead);
block/blk-cgroup.c
1361
kfree(blkcg);
block/blk-cgroup.c
1367
struct blkcg *blkcg;
block/blk-cgroup.c
1373
blkcg = &blkcg_root;
block/blk-cgroup.c
1375
blkcg = kzalloc_obj(*blkcg);
block/blk-cgroup.c
1376
if (!blkcg)
block/blk-cgroup.c
1380
if (init_blkcg_llists(blkcg))
block/blk-cgroup.c
1400
blkcg->cpd[i] = cpd;
block/blk-cgroup.c
1401
cpd->blkcg = blkcg;
block/blk-cgroup.c
1405
spin_lock_init(&blkcg->lock);
block/blk-cgroup.c
1406
refcount_set(&blkcg->online_pin, 1);
block/blk-cgroup.c
1407
INIT_RADIX_TREE(&blkcg->blkg_tree, GFP_NOWAIT);
block/blk-cgroup.c
1408
INIT_HLIST_HEAD(&blkcg->blkg_list);
block/blk-cgroup.c
1410
INIT_LIST_HEAD(&blkcg->cgwb_list);
block/blk-cgroup.c
1412
list_add_tail(&blkcg->all_blkcgs_node, &all_blkcgs);
block/blk-cgroup.c
1415
return &blkcg->css;
block/blk-cgroup.c
1419
if (blkcg->cpd[i])
block/blk-cgroup.c
1420
blkcg_policy[i]->cpd_free_fn(blkcg->cpd[i]);
block/blk-cgroup.c
1421
free_percpu(blkcg->lhead);
block/blk-cgroup.c
1423
if (blkcg != &blkcg_root)
block/blk-cgroup.c
1424
kfree(blkcg);
block/blk-cgroup.c
143
css_put(&blkg->blkcg->css);
block/blk-cgroup.c
1432
struct blkcg *parent = blkcg_parent(css_to_blkcg(css));
block/blk-cgroup.c
1581
pd = pol->pd_alloc_fn(disk, blkg->blkcg,
block/blk-cgroup.c
1599
pd_prealloc = pol->pd_alloc_fn(disk, blkg->blkcg,
block/blk-cgroup.c
1607
spin_lock(&blkg->blkcg->lock);
block/blk-cgroup.c
1620
spin_unlock(&blkg->blkcg->lock);
block/blk-cgroup.c
1640
struct blkcg *blkcg = blkg->blkcg;
block/blk-cgroup.c
1643
spin_lock(&blkcg->lock);
block/blk-cgroup.c
1652
spin_unlock(&blkcg->lock);
block/blk-cgroup.c
1687
struct blkcg *blkcg = blkg->blkcg;
block/blk-cgroup.c
1689
spin_lock(&blkcg->lock);
block/blk-cgroup.c
1696
spin_unlock(&blkcg->lock);
block/blk-cgroup.c
1709
struct blkcg *blkcg;
block/blk-cgroup.c
1711
list_for_each_entry(blkcg, &all_blkcgs, all_blkcgs_node) {
block/blk-cgroup.c
1712
if (blkcg->cpd[pol->plid]) {
block/blk-cgroup.c
1713
pol->cpd_free_fn(blkcg->cpd[pol->plid]);
block/blk-cgroup.c
1714
blkcg->cpd[pol->plid] = NULL;
block/blk-cgroup.c
1728
struct blkcg *blkcg;
block/blk-cgroup.c
1758
list_for_each_entry(blkcg, &all_blkcgs, all_blkcgs_node) {
block/blk-cgroup.c
1767
blkcg->cpd[pol->plid] = cpd;
block/blk-cgroup.c
1768
cpd->blkcg = blkcg;
block/blk-cgroup.c
191
struct blkcg *blkcg = blkg->blkcg;
block/blk-cgroup.c
1965
struct blkcg *blkcg;
block/blk-cgroup.c
1976
blkcg = css_to_blkcg(blkcg_css());
block/blk-cgroup.c
1977
if (!blkcg)
block/blk-cgroup.c
1979
blkg = blkg_lookup(blkcg, disk->queue);
block/blk-cgroup.c
201
__blkcg_rstat_flush(blkcg, cpu);
block/blk-cgroup.c
2074
struct blkcg *blkcg = css_to_blkcg(css);
block/blk-cgroup.c
2078
blkg = blkg_lookup(blkcg, q);
block/blk-cgroup.c
2091
blkg = blkg_lookup_create(blkcg, bio->bi_bdev->bd_disk);
block/blk-cgroup.c
2184
struct blkcg *blkcg = bio->bi_blkg->blkcg;
block/blk-cgroup.c
2193
if (!cgroup_parent(blkcg->css.cgroup))
block/blk-cgroup.c
2215
struct llist_head *lhead = this_cpu_ptr(blkcg->lhead);
block/blk-cgroup.c
2222
__css_rstat_updated(&blkcg->css, cpu);
block/blk-cgroup.c
2228
struct blkcg *blkcg;
block/blk-cgroup.c
2232
for (blkcg = css_to_blkcg(blkcg_css()); blkcg;
block/blk-cgroup.c
2233
blkcg = blkcg_parent(blkcg)) {
block/blk-cgroup.c
2234
if (atomic_read(&blkcg->congestion_count)) {
block/blk-cgroup.c
280
return &bio->bi_blkg->blkcg->css;
block/blk-cgroup.c
290
static inline struct blkcg *blkcg_parent(struct blkcg *blkcg)
block/blk-cgroup.c
292
return css_to_blkcg(blkcg->css.parent);
block/blk-cgroup.c
303
static struct blkcg_gq *blkg_alloc(struct blkcg *blkcg, struct gendisk *disk,
block/blk-cgroup.c
321
if (!css_tryget_online(&blkcg->css))
block/blk-cgroup.c
326
blkg->blkcg = blkcg;
block/blk-cgroup.c
348
pd = pol->pd_alloc_fn(disk, blkcg, gfp_mask);
block/blk-cgroup.c
363
css_put(&blkcg->css);
block/blk-cgroup.c
379
static struct blkcg_gq *blkg_create(struct blkcg *blkcg, struct gendisk *disk,
block/blk-cgroup.c
38
static void __blkcg_rstat_flush(struct blkcg *blkcg, int cpu);
block/blk-cgroup.c
395
new_blkg = blkg_alloc(blkcg, disk, GFP_NOWAIT);
block/blk-cgroup.c
404
if (blkcg_parent(blkcg)) {
block/blk-cgroup.c
405
blkg->parent = blkg_lookup(blkcg_parent(blkcg), disk->queue);
block/blk-cgroup.c
422
spin_lock(&blkcg->lock);
block/blk-cgroup.c
423
ret = radix_tree_insert(&blkcg->blkg_tree, disk->queue->id, blkg);
block/blk-cgroup.c
425
hlist_add_head_rcu(&blkg->blkcg_node, &blkcg->blkg_list);
block/blk-cgroup.c
439
spin_unlock(&blkcg->lock);
block/blk-cgroup.c
467
static struct blkcg_gq *blkg_lookup_create(struct blkcg *blkcg,
block/blk-cgroup.c
474
blkg = blkg_lookup(blkcg, q);
block/blk-cgroup.c
476
if (blkcg != &blkcg_root &&
block/blk-cgroup.c
477
blkg != rcu_dereference(blkcg->blkg_hint))
block/blk-cgroup.c
478
rcu_assign_pointer(blkcg->blkg_hint, blkg);
block/blk-cgroup.c
490
struct blkcg *pos = blkcg;
block/blk-cgroup.c
491
struct blkcg *parent = blkcg_parent(blkcg);
block/blk-cgroup.c
50
struct blkcg blkcg_root;
block/blk-cgroup.c
510
if (pos == blkcg)
block/blk-cgroup.c
519
struct blkcg *blkcg = blkg->blkcg;
block/blk-cgroup.c
523
lockdep_assert_held(&blkcg->lock);
block/blk-cgroup.c
546
radix_tree_delete(&blkcg->blkg_tree, blkg->q->id);
block/blk-cgroup.c
554
if (rcu_access_pointer(blkcg->blkg_hint) == blkg)
block/blk-cgroup.c
555
rcu_assign_pointer(blkcg->blkg_hint, NULL);
block/blk-cgroup.c
574
struct blkcg *blkcg = blkg->blkcg;
block/blk-cgroup.c
579
spin_lock(&blkcg->lock);
block/blk-cgroup.c
581
spin_unlock(&blkcg->lock);
block/blk-cgroup.c
649
struct blkcg *blkcg = css_to_blkcg(css);
block/blk-cgroup.c
655
spin_lock_irq(&blkcg->lock);
block/blk-cgroup.c
662
hlist_for_each_entry(blkg, &blkcg->blkg_list, blkcg_node) {
block/blk-cgroup.c
672
spin_unlock_irq(&blkcg->lock);
block/blk-cgroup.c
702
void blkcg_print_blkgs(struct seq_file *sf, struct blkcg *blkcg,
block/blk-cgroup.c
712
hlist_for_each_entry_rcu(blkg, &blkcg->blkg_list, blkcg_node) {
block/blk-cgroup.c
828
int blkg_conf_prep(struct blkcg *blkcg, const struct blkcg_policy *pol,
block/blk-cgroup.c
84
static int init_blkcg_llists(struct blkcg *blkcg)
block/blk-cgroup.c
851
blkg = blkg_lookup(blkcg, q);
block/blk-cgroup.c
860
struct blkcg *pos = blkcg;
block/blk-cgroup.c
861
struct blkcg *parent;
block/blk-cgroup.c
864
parent = blkcg_parent(blkcg);
block/blk-cgroup.c
88
blkcg->lhead = alloc_percpu_gfp(struct llist_head, GFP_KERNEL);
block/blk-cgroup.c
89
if (!blkcg->lhead)
block/blk-cgroup.c
906
if (pos == blkcg)
block/blk-cgroup.c
93
init_llist_head(per_cpu_ptr(blkcg->lhead, cpu));
block/blk-cgroup.c
994
static void __blkcg_rstat_flush(struct blkcg *blkcg, int cpu)
block/blk-cgroup.c
996
struct llist_head *lhead = per_cpu_ptr(blkcg->lhead, cpu);
block/blk-cgroup.h
122
static inline struct blkcg *css_to_blkcg(struct cgroup_subsys_state *css)
block/blk-cgroup.h
124
return css ? container_of(css, struct blkcg, css) : NULL;
block/blk-cgroup.h
156
struct blkcg *blkcg;
block/blk-cgroup.h
193
extern struct blkcg blkcg_root;
block/blk-cgroup.h
208
void blkcg_print_blkgs(struct seq_file *sf, struct blkcg *blkcg,
block/blk-cgroup.h
225
int blkg_conf_prep(struct blkcg *blkcg, const struct blkcg_policy *pol,
block/blk-cgroup.h
260
static inline struct blkcg_gq *blkg_lookup(struct blkcg *blkcg,
block/blk-cgroup.h
265
if (blkcg == &blkcg_root)
block/blk-cgroup.h
268
blkg = rcu_dereference_check(blkcg->blkg_hint,
block/blk-cgroup.h
273
blkg = radix_tree_lookup(&blkcg->blkg_tree, q->id);
block/blk-cgroup.h
292
static inline struct blkcg_policy_data *blkcg_to_cpd(struct blkcg *blkcg,
block/blk-cgroup.h
295
return blkcg ? blkcg->cpd[pol->plid] : NULL;
block/blk-cgroup.h
309
static inline struct blkcg *cpd_to_blkcg(struct blkcg_policy_data *cpd)
block/blk-cgroup.h
311
return cpd ? cpd->blkcg : NULL;
block/blk-cgroup.h
359
css_for_each_descendant_pre((pos_css), &(p_blkg)->blkcg->css) \
block/blk-cgroup.h
374
css_for_each_descendant_post((pos_css), &(p_blkg)->blkcg->css) \
block/blk-cgroup.h
383
atomic_inc(&blkg->blkcg->congestion_count);
block/blk-cgroup.h
408
atomic_dec(&blkg->blkcg->congestion_count);
block/blk-cgroup.h
427
atomic_inc(&blkg->blkcg->congestion_count);
block/blk-cgroup.h
444
atomic_dec(&blkg->blkcg->congestion_count);
block/blk-cgroup.h
484
static inline struct blkcg_gq *blkg_lookup(struct blkcg *blkcg, void *key) { return NULL; }
block/blk-cgroup.h
61
struct blkcg *blkcg;
block/blk-iocost.c
1237
struct ioc_cgrp *iocc = blkcg_to_iocc(blkg->blkcg);
block/blk-iocost.c
1955
pr_cont_cgroup_path(iocg_to_blkg(iocg)->blkcg->css.cgroup);
block/blk-iocost.c
200
cgroup_path(iocg_to_blkg(iocg)->blkcg->css.cgroup, \
block/blk-iocost.c
2998
struct blkcg *blkcg, gfp_t gfp)
block/blk-iocost.c
3000
int levels = blkcg->css.cgroup->level + 1;
block/blk-iocost.c
3041
iocg->level = blkg->blkcg->css.cgroup->level;
block/blk-iocost.c
3129
struct blkcg *blkcg = css_to_blkcg(seq_css(sf));
block/blk-iocost.c
3130
struct ioc_cgrp *iocc = blkcg_to_iocc(blkcg);
block/blk-iocost.c
3133
blkcg_print_blkgs(sf, blkcg, ioc_weight_prfill,
block/blk-iocost.c
3141
struct blkcg *blkcg = css_to_blkcg(of_css(of));
block/blk-iocost.c
3142
struct ioc_cgrp *iocc = blkcg_to_iocc(blkcg);
block/blk-iocost.c
3158
spin_lock_irq(&blkcg->lock);
block/blk-iocost.c
3160
hlist_for_each_entry(blkg, &blkcg->blkg_list, blkcg_node) {
block/blk-iocost.c
3170
spin_unlock_irq(&blkcg->lock);
block/blk-iocost.c
3181
ret = blkg_conf_prep(blkcg, &blkcg_policy_iocost, &ctx);
block/blk-iocost.c
3243
struct blkcg *blkcg = css_to_blkcg(seq_css(sf));
block/blk-iocost.c
3245
blkcg_print_blkgs(sf, blkcg, ioc_qos_prfill,
block/blk-iocost.c
3446
struct blkcg *blkcg = css_to_blkcg(seq_css(sf));
block/blk-iocost.c
3448
blkcg_print_blkgs(sf, blkcg, ioc_cost_model_prfill,
block/blk-iocost.c
694
static struct ioc_cgrp *blkcg_to_iocc(struct blkcg *blkcg)
block/blk-iocost.c
696
return container_of(blkcg_to_cpd(blkcg, &blkcg_policy_iocost),
block/blk-iolatency.c
830
struct blkcg *blkcg = css_to_blkcg(of_css(of));
block/blk-iolatency.c
855
ret = blkg_conf_prep(blkcg, &blkcg_policy_iolatency, &ctx);
block/blk-iolatency.c
969
struct blkcg *blkcg, gfp_t gfp)
block/blk-ioprio.c
100
struct ioprio_blkcg *blkcg;
block/blk-ioprio.c
102
blkcg = kzalloc_obj(*blkcg, gfp);
block/blk-ioprio.c
103
if (!blkcg)
block/blk-ioprio.c
105
blkcg->prio_policy = POLICY_NO_CHANGE;
block/blk-ioprio.c
106
return &blkcg->cpd;
block/blk-ioprio.c
111
struct ioprio_blkcg *blkcg = container_of(cpd, typeof(*blkcg), cpd);
block/blk-ioprio.c
113
kfree(blkcg);
block/blk-ioprio.c
135
struct ioprio_blkcg *blkcg = blkcg_to_ioprio_blkcg(bio->bi_blkg->blkcg);
block/blk-ioprio.c
138
if (!blkcg || blkcg->prio_policy == POLICY_NO_CHANGE)
block/blk-ioprio.c
141
if (blkcg->prio_policy == POLICY_PROMOTE_TO_RT ||
block/blk-ioprio.c
142
blkcg->prio_policy == POLICY_NONE_TO_RT) {
block/blk-ioprio.c
163
IOPRIO_PRIO_VALUE(blkcg->prio_policy, 0));
block/blk-ioprio.c
62
static struct ioprio_blkcg *blkcg_to_ioprio_blkcg(struct blkcg *blkcg)
block/blk-ioprio.c
64
return container_of(blkcg_to_cpd(blkcg, &ioprio_policy),
block/blk-ioprio.c
76
struct ioprio_blkcg *blkcg = ioprio_blkcg_from_css(seq_css(sf));
block/blk-ioprio.c
78
seq_printf(sf, "%s\n", policy_name[blkcg->prio_policy]);
block/blk-ioprio.c
85
struct ioprio_blkcg *blkcg = ioprio_blkcg_from_css(of_css(of));
block/blk-ioprio.c
94
blkcg->prio_policy = ret;
block/blk-throttle.c
122
&tg_to_blkg(__tg)->blkcg->css, "throtl " fmt, ##args);\
block/blk-throttle.c
1355
struct blkcg *blkcg = css_to_blkcg(of_css(of));
block/blk-throttle.c
1373
ret = blkg_conf_prep(blkcg, &blkcg_policy_throtl, &ctx);
block/blk-throttle.c
1543
struct blkcg *blkcg = css_to_blkcg(of_css(of));
block/blk-throttle.c
1561
ret = blkg_conf_prep(blkcg, &blkcg_policy_throtl, &ctx);
block/blk-throttle.c
262
struct blkcg *blkcg, gfp_t gfp)