Lines Matching refs:blkg

90 	struct blkcg_gq			*blkg;  member
212 const char *blkg_dev_name(struct blkcg_gq *blkg);
228 void blkg_rwstat_recursive_sum(struct blkcg_gq *blkg, struct blkcg_policy *pol,
233 struct blkcg_gq *blkg; member
362 struct blkcg_gq *blkg; in __blkg_lookup() local
367 blkg = rcu_dereference(blkcg->blkg_hint); in __blkg_lookup()
368 if (blkg && blkg->q == q) in __blkg_lookup()
369 return blkg; in __blkg_lookup()
407 static inline struct blkg_policy_data *blkg_to_pd(struct blkcg_gq *blkg, in blkg_to_pd() argument
410 return blkg ? blkg->pd[pol->plid] : NULL; in blkg_to_pd()
427 return pd ? pd->blkg : NULL; in pd_to_blkg()
486 static inline int blkg_path(struct blkcg_gq *blkg, char *buf, int buflen) in blkg_path() argument
488 return cgroup_path(blkg->blkcg->css.cgroup, buf, buflen); in blkg_path()
497 static inline void blkg_get(struct blkcg_gq *blkg) in blkg_get() argument
499 percpu_ref_get(&blkg->refcnt); in blkg_get()
509 static inline bool blkg_tryget(struct blkcg_gq *blkg) in blkg_tryget() argument
511 return blkg && percpu_ref_tryget(&blkg->refcnt); in blkg_tryget()
523 static inline struct blkcg_gq *blkg_tryget_closest(struct blkcg_gq *blkg) in blkg_tryget_closest() argument
529 while (blkg) { in blkg_tryget_closest()
530 if (blkg_tryget(blkg)) { in blkg_tryget_closest()
531 ret_blkg = blkg; in blkg_tryget_closest()
534 blkg = blkg->parent; in blkg_tryget_closest()
544 static inline void blkg_put(struct blkcg_gq *blkg) in blkg_put() argument
546 percpu_ref_put(&blkg->refcnt); in blkg_put()
704 extern bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg,
707 static inline bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg, in blk_throtl_bio() argument
729 struct blkcg_gq *blkg; in blkcg_bio_issue_check() local
743 blkg = bio->bi_blkg; in blkcg_bio_issue_check()
745 throtl = blk_throtl_bio(q, blkg, bio); in blkcg_bio_issue_check()
754 blkg_rwstat_add(&blkg->stat_bytes, bio->bi_opf, in blkcg_bio_issue_check()
756 blkg_rwstat_add(&blkg->stat_ios, bio->bi_opf, 1); in blkcg_bio_issue_check()
765 static inline void blkcg_use_delay(struct blkcg_gq *blkg) in blkcg_use_delay() argument
767 if (atomic_add_return(1, &blkg->use_delay) == 1) in blkcg_use_delay()
768 atomic_inc(&blkg->blkcg->css.cgroup->congestion_count); in blkcg_use_delay()
771 static inline int blkcg_unuse_delay(struct blkcg_gq *blkg) in blkcg_unuse_delay() argument
773 int old = atomic_read(&blkg->use_delay); in blkcg_unuse_delay()
786 int cur = atomic_cmpxchg(&blkg->use_delay, old, old - 1); in blkcg_unuse_delay()
795 atomic_dec(&blkg->blkcg->css.cgroup->congestion_count); in blkcg_unuse_delay()
799 static inline void blkcg_clear_delay(struct blkcg_gq *blkg) in blkcg_clear_delay() argument
801 int old = atomic_read(&blkg->use_delay); in blkcg_clear_delay()
806 int cur = atomic_cmpxchg(&blkg->use_delay, old, 0); in blkcg_clear_delay()
808 atomic_dec(&blkg->blkcg->css.cgroup->congestion_count); in blkcg_clear_delay()
815 void blkcg_add_delay(struct blkcg_gq *blkg, u64 now, u64 delta);
860 static inline struct blkg_policy_data *blkg_to_pd(struct blkcg_gq *blkg, in blkg_to_pd() argument
863 static inline char *blkg_path(struct blkcg_gq *blkg) { return NULL; } in blkg_path() argument
864 static inline void blkg_get(struct blkcg_gq *blkg) { } in blkg_get() argument
865 static inline void blkg_put(struct blkcg_gq *blkg) { } in blkg_put() argument