Lines Matching refs:throtl_grp
55 struct throtl_grp *tg; /* tg this qnode belongs to */
84 #define rb_entry_tg(node) rb_entry((node), struct throtl_grp, rb_node)
86 struct throtl_grp { struct
159 static inline struct throtl_grp *pd_to_tg(struct blkg_policy_data *pd) in pd_to_tg()
161 return pd ? container_of(pd, struct throtl_grp, pd) : NULL; in pd_to_tg()
164 static inline struct throtl_grp *blkg_to_tg(struct blkcg_gq *blkg) in blkg_to_tg()
169 static inline struct blkcg_gq *tg_to_blkg(struct throtl_grp *tg) in tg_to_blkg()
181 static struct throtl_grp *sq_to_tg(struct throtl_service_queue *sq) in sq_to_tg()
184 return container_of(sq, struct throtl_grp, service_queue); in sq_to_tg()
198 struct throtl_grp *tg = sq_to_tg(sq); in sq_to_td()
219 struct throtl_grp *__tg = sq_to_tg((sq)); \
233 static void throtl_qnode_init(struct throtl_qnode *qn, struct throtl_grp *tg) in throtl_qnode_init()
292 struct throtl_grp **tg_to_put) in throtl_pop_queued()
328 struct throtl_grp *tg; in throtl_pd_alloc()
353 struct throtl_grp *tg = pd_to_tg(pd); in throtl_pd_init()
382 static void tg_update_has_rules(struct throtl_grp *tg) in tg_update_has_rules()
384 struct throtl_grp *parent_tg = sq_to_tg(tg->service_queue.parent_sq); in tg_update_has_rules()
403 struct throtl_grp *tg = pd_to_tg(pd); in throtl_pd_free()
409 static struct throtl_grp *
442 struct throtl_grp *tg; in update_min_dispatch_time()
451 static void tg_service_queue_add(struct throtl_grp *tg) in tg_service_queue_add()
456 struct throtl_grp *__tg; in tg_service_queue_add()
479 static void __throtl_enqueue_tg(struct throtl_grp *tg) in __throtl_enqueue_tg()
486 static void throtl_enqueue_tg(struct throtl_grp *tg) in throtl_enqueue_tg()
492 static void __throtl_dequeue_tg(struct throtl_grp *tg) in __throtl_dequeue_tg()
498 static void throtl_dequeue_tg(struct throtl_grp *tg) in throtl_dequeue_tg()
550 static inline void throtl_start_new_slice_with_credit(struct throtl_grp *tg, in throtl_start_new_slice_with_credit()
572 static inline void throtl_start_new_slice(struct throtl_grp *tg, bool rw) in throtl_start_new_slice()
584 static inline void throtl_set_slice_end(struct throtl_grp *tg, bool rw, in throtl_set_slice_end()
590 static inline void throtl_extend_slice(struct throtl_grp *tg, bool rw, in throtl_extend_slice()
601 static bool throtl_slice_used(struct throtl_grp *tg, bool rw) in throtl_slice_used()
610 static inline void throtl_trim_slice(struct throtl_grp *tg, bool rw) in throtl_trim_slice()
668 static bool tg_with_in_iops_limit(struct throtl_grp *tg, struct bio *bio, in tg_with_in_iops_limit()
718 static bool tg_with_in_bps_limit(struct throtl_grp *tg, struct bio *bio, in tg_with_in_bps_limit()
764 static bool tg_may_dispatch(struct throtl_grp *tg, struct bio *bio, in tg_may_dispatch()
816 static void throtl_charge_bio(struct throtl_grp *tg, struct bio *bio) in throtl_charge_bio()
844 struct throtl_grp *tg) in throtl_add_bio_tg()
867 static void tg_update_disptime(struct throtl_grp *tg) in tg_update_disptime()
891 static void start_parent_slice_with_credit(struct throtl_grp *child_tg, in start_parent_slice_with_credit()
892 struct throtl_grp *parent_tg, bool rw) in start_parent_slice_with_credit()
901 static void tg_dispatch_one_bio(struct throtl_grp *tg, bool rw) in tg_dispatch_one_bio()
905 struct throtl_grp *parent_tg = sq_to_tg(parent_sq); in tg_dispatch_one_bio()
906 struct throtl_grp *tg_to_put = NULL; in tg_dispatch_one_bio()
943 static int throtl_dispatch_tg(struct throtl_grp *tg) in throtl_dispatch_tg()
981 struct throtl_grp *tg = throtl_rb_first(parent_sq); in throtl_select_dispatch()
1022 struct throtl_grp *tg = sq_to_tg(sq); in throtl_pending_timer_fn()
1114 struct throtl_grp *tg = pd_to_tg(pd); in tg_prfill_conf_u64()
1125 struct throtl_grp *tg = pd_to_tg(pd); in tg_prfill_conf_uint()
1147 static void tg_conf_updated(struct throtl_grp *tg) in tg_conf_updated()
1190 struct throtl_grp *tg; in tg_set_conf()
1233 .private = offsetof(struct throtl_grp, bps[READ]),
1239 .private = offsetof(struct throtl_grp, bps[WRITE]),
1245 .private = offsetof(struct throtl_grp, iops[READ]),
1251 .private = offsetof(struct throtl_grp, iops[WRITE]),
1271 struct throtl_grp *tg = pd_to_tg(pd); in tg_prfill_max()
1307 struct throtl_grp *tg; in tg_set_max()
1400 struct throtl_grp *tg = blkg_to_tg(blkg ?: q->root_blkg); in blk_throtl_bio()
1498 struct throtl_grp *tg; in tg_drain_bios()