Lines Matching refs:blkg
87 struct blkcg_gq *blkg; member
191 const char *blkg_dev_name(struct blkcg_gq *blkg);
201 struct blkcg_gq *blkg; member
330 struct blkcg_gq *blkg; in __blkg_lookup() local
335 blkg = rcu_dereference(blkcg->blkg_hint); in __blkg_lookup()
336 if (blkg && blkg->q == q) in __blkg_lookup()
337 return blkg; in __blkg_lookup()
375 static inline struct blkg_policy_data *blkg_to_pd(struct blkcg_gq *blkg, in blkg_to_pd() argument
378 return blkg ? blkg->pd[pol->plid] : NULL; in blkg_to_pd()
395 return pd ? pd->blkg : NULL; in pd_to_blkg()
445 static inline int blkg_path(struct blkcg_gq *blkg, char *buf, int buflen) in blkg_path() argument
447 return cgroup_path(blkg->blkcg->css.cgroup, buf, buflen); in blkg_path()
456 static inline void blkg_get(struct blkcg_gq *blkg) in blkg_get() argument
458 percpu_ref_get(&blkg->refcnt); in blkg_get()
468 static inline bool blkg_tryget(struct blkcg_gq *blkg) in blkg_tryget() argument
470 return blkg && percpu_ref_tryget(&blkg->refcnt); in blkg_tryget()
477 static inline void blkg_put(struct blkcg_gq *blkg) in blkg_put() argument
479 percpu_ref_put(&blkg->refcnt); in blkg_put()
529 static inline void blkcg_use_delay(struct blkcg_gq *blkg) in blkcg_use_delay() argument
531 if (WARN_ON_ONCE(atomic_read(&blkg->use_delay) < 0)) in blkcg_use_delay()
533 if (atomic_add_return(1, &blkg->use_delay) == 1) in blkcg_use_delay()
534 atomic_inc(&blkg->blkcg->css.cgroup->congestion_count); in blkcg_use_delay()
537 static inline int blkcg_unuse_delay(struct blkcg_gq *blkg) in blkcg_unuse_delay() argument
539 int old = atomic_read(&blkg->use_delay); in blkcg_unuse_delay()
554 int cur = atomic_cmpxchg(&blkg->use_delay, old, old - 1); in blkcg_unuse_delay()
563 atomic_dec(&blkg->blkcg->css.cgroup->congestion_count); in blkcg_unuse_delay()
576 static inline void blkcg_set_delay(struct blkcg_gq *blkg, u64 delay) in blkcg_set_delay() argument
578 int old = atomic_read(&blkg->use_delay); in blkcg_set_delay()
581 if (!old && atomic_cmpxchg(&blkg->use_delay, old, -1) == old) in blkcg_set_delay()
582 atomic_inc(&blkg->blkcg->css.cgroup->congestion_count); in blkcg_set_delay()
584 atomic64_set(&blkg->delay_nsec, delay); in blkcg_set_delay()
593 static inline void blkcg_clear_delay(struct blkcg_gq *blkg) in blkcg_clear_delay() argument
595 int old = atomic_read(&blkg->use_delay); in blkcg_clear_delay()
598 if (old && atomic_cmpxchg(&blkg->use_delay, old, 0) == old) in blkcg_clear_delay()
599 atomic_dec(&blkg->blkcg->css.cgroup->congestion_count); in blkcg_clear_delay()
603 void blkcg_add_delay(struct blkcg_gq *blkg, u64 now, u64 delta);
647 static inline struct blkg_policy_data *blkg_to_pd(struct blkcg_gq *blkg, in blkg_to_pd() argument
650 static inline char *blkg_path(struct blkcg_gq *blkg) { return NULL; } in blkg_path() argument
651 static inline void blkg_get(struct blkcg_gq *blkg) { } in blkg_get() argument
652 static inline void blkg_put(struct blkcg_gq *blkg) { } in blkg_put() argument