Lines Matching refs:blkg

90 	struct blkcg_gq			*blkg;  member
194 const char *blkg_dev_name(struct blkcg_gq *blkg);
204 struct blkcg_gq *blkg; member
333 struct blkcg_gq *blkg; in __blkg_lookup() local
338 blkg = rcu_dereference(blkcg->blkg_hint); in __blkg_lookup()
339 if (blkg && blkg->q == q) in __blkg_lookup()
340 return blkg; in __blkg_lookup()
378 static inline struct blkg_policy_data *blkg_to_pd(struct blkcg_gq *blkg, in blkg_to_pd() argument
381 return blkg ? blkg->pd[pol->plid] : NULL; in blkg_to_pd()
398 return pd ? pd->blkg : NULL; in pd_to_blkg()
448 static inline int blkg_path(struct blkcg_gq *blkg, char *buf, int buflen) in blkg_path() argument
450 return cgroup_path(blkg->blkcg->css.cgroup, buf, buflen); in blkg_path()
459 static inline void blkg_get(struct blkcg_gq *blkg) in blkg_get() argument
461 percpu_ref_get(&blkg->refcnt); in blkg_get()
471 static inline bool blkg_tryget(struct blkcg_gq *blkg) in blkg_tryget() argument
473 return blkg && percpu_ref_tryget(&blkg->refcnt); in blkg_tryget()
480 static inline void blkg_put(struct blkcg_gq *blkg) in blkg_put() argument
482 percpu_ref_put(&blkg->refcnt); in blkg_put()
532 static inline void blkcg_use_delay(struct blkcg_gq *blkg) in blkcg_use_delay() argument
534 if (WARN_ON_ONCE(atomic_read(&blkg->use_delay) < 0)) in blkcg_use_delay()
536 if (atomic_add_return(1, &blkg->use_delay) == 1) in blkcg_use_delay()
537 atomic_inc(&blkg->blkcg->css.cgroup->congestion_count); in blkcg_use_delay()
540 static inline int blkcg_unuse_delay(struct blkcg_gq *blkg) in blkcg_unuse_delay() argument
542 int old = atomic_read(&blkg->use_delay); in blkcg_unuse_delay()
557 int cur = atomic_cmpxchg(&blkg->use_delay, old, old - 1); in blkcg_unuse_delay()
566 atomic_dec(&blkg->blkcg->css.cgroup->congestion_count); in blkcg_unuse_delay()
579 static inline void blkcg_set_delay(struct blkcg_gq *blkg, u64 delay) in blkcg_set_delay() argument
581 int old = atomic_read(&blkg->use_delay); in blkcg_set_delay()
584 if (!old && atomic_cmpxchg(&blkg->use_delay, old, -1) == old) in blkcg_set_delay()
585 atomic_inc(&blkg->blkcg->css.cgroup->congestion_count); in blkcg_set_delay()
587 atomic64_set(&blkg->delay_nsec, delay); in blkcg_set_delay()
596 static inline void blkcg_clear_delay(struct blkcg_gq *blkg) in blkcg_clear_delay() argument
598 int old = atomic_read(&blkg->use_delay); in blkcg_clear_delay()
601 if (old && atomic_cmpxchg(&blkg->use_delay, old, 0) == old) in blkcg_clear_delay()
602 atomic_dec(&blkg->blkcg->css.cgroup->congestion_count); in blkcg_clear_delay()
621 void blkcg_add_delay(struct blkcg_gq *blkg, u64 now, u64 delta);
665 static inline struct blkg_policy_data *blkg_to_pd(struct blkcg_gq *blkg, in blkg_to_pd() argument
668 static inline char *blkg_path(struct blkcg_gq *blkg) { return NULL; } in blkg_path() argument
669 static inline void blkg_get(struct blkcg_gq *blkg) { } in blkg_get() argument
670 static inline void blkg_put(struct blkcg_gq *blkg) { } in blkg_put() argument