Lines Matching refs:blkcg
46 struct blkcg { struct
104 struct blkcg *blkcg; member
114 struct blkcg *blkcg; member
182 extern struct blkcg blkcg_root;
185 struct blkcg_gq *blkg_lookup_slowpath(struct blkcg *blkcg,
187 struct blkcg_gq *blkg_lookup_create(struct blkcg *blkcg,
202 void blkcg_print_blkgs(struct seq_file *sf, struct blkcg *blkcg,
229 int blkg_conf_prep(struct blkcg *blkcg, const struct blkcg_policy *pol,
234 static inline struct blkcg *css_to_blkcg(struct cgroup_subsys_state *css) in css_to_blkcg()
236 return css ? container_of(css, struct blkcg, css) : NULL; in css_to_blkcg()
239 static inline struct blkcg *bio_blkcg(struct bio *bio) in bio_blkcg()
293 static inline struct blkcg *blkcg_parent(struct blkcg *blkcg) in blkcg_parent() argument
295 return css_to_blkcg(blkcg->css.parent); in blkcg_parent()
309 static inline struct blkcg_gq *__blkg_lookup(struct blkcg *blkcg, in __blkg_lookup() argument
315 if (blkcg == &blkcg_root) in __blkg_lookup()
318 blkg = rcu_dereference(blkcg->blkg_hint); in __blkg_lookup()
322 return blkg_lookup_slowpath(blkcg, q, update_hint); in __blkg_lookup()
334 static inline struct blkcg_gq *blkg_lookup(struct blkcg *blkcg, in blkg_lookup() argument
341 return __blkg_lookup(blkcg, q, false); in blkg_lookup()
368 static inline struct blkcg_policy_data *blkcg_to_cpd(struct blkcg *blkcg, in blkcg_to_cpd() argument
371 return blkcg ? blkcg->cpd[pol->plid] : NULL; in blkcg_to_cpd()
385 static inline struct blkcg *cpd_to_blkcg(struct blkcg_policy_data *cpd) in cpd_to_blkcg()
387 return cpd ? cpd->blkcg : NULL; in cpd_to_blkcg()
390 extern void blkcg_destroy_blkgs(struct blkcg *blkcg);
400 static inline void blkcg_cgwb_get(struct blkcg *blkcg) in blkcg_cgwb_get() argument
402 refcount_inc(&blkcg->cgwb_refcnt); in blkcg_cgwb_get()
415 static inline void blkcg_cgwb_put(struct blkcg *blkcg) in blkcg_cgwb_put() argument
417 if (refcount_dec_and_test(&blkcg->cgwb_refcnt)) in blkcg_cgwb_put()
418 blkcg_destroy_blkgs(blkcg); in blkcg_cgwb_put()
423 static inline void blkcg_cgwb_get(struct blkcg *blkcg) { } in blkcg_cgwb_get() argument
425 static inline void blkcg_cgwb_put(struct blkcg *blkcg) in blkcg_cgwb_put() argument
428 blkcg_destroy_blkgs(blkcg); in blkcg_cgwb_put()
443 return cgroup_path(blkg->blkcg->css.cgroup, buf, buflen); in blkg_path()
499 css_for_each_descendant_pre((pos_css), &(p_blkg)->blkcg->css) \
514 css_for_each_descendant_post((pos_css), &(p_blkg)->blkcg->css) \
531 struct blkcg *blkcg; in blk_get_rl() local
536 blkcg = bio_blkcg(bio); in blk_get_rl()
539 if (blkcg == &blkcg_root) in blk_get_rl()
547 blkg = blkg_lookup(blkcg, q); in blk_get_rl()
568 if (rl->blkg->blkcg != &blkcg_root) in blk_put_rl()
803 struct blkcg *blkcg; in blkcg_bio_issue_check() local
808 blkcg = bio_blkcg(bio); in blkcg_bio_issue_check()
811 bio_associate_blkcg(bio, &blkcg->css); in blkcg_bio_issue_check()
813 blkg = blkg_lookup(blkcg, q); in blkcg_bio_issue_check()
816 blkg = blkg_lookup_create(blkcg, q); in blkcg_bio_issue_check()
844 atomic_inc(&blkg->blkcg->css.cgroup->congestion_count); in blkcg_use_delay()
871 atomic_dec(&blkg->blkcg->css.cgroup->congestion_count); in blkcg_unuse_delay()
884 atomic_dec(&blkg->blkcg->css.cgroup->congestion_count); in blkcg_clear_delay()
896 struct blkcg { struct
920 static inline struct blkcg_gq *blkg_lookup(struct blkcg *blkcg, void *key) { return NULL; } in blkg_lookup() argument
933 static inline struct blkcg *bio_blkcg(struct bio *bio) { return NULL; } in bio_blkcg()