Lines Matching refs:throtl_grp

70 	struct throtl_grp	*tg;		/* tg this qnode belongs to */
99 #define rb_entry_tg(node) rb_entry((node), struct throtl_grp, rb_node)
107 struct throtl_grp { struct
228 static inline struct throtl_grp *pd_to_tg(struct blkg_policy_data *pd) in pd_to_tg()
230 return pd ? container_of(pd, struct throtl_grp, pd) : NULL; in pd_to_tg()
233 static inline struct throtl_grp *blkg_to_tg(struct blkcg_gq *blkg) in blkg_to_tg()
238 static inline struct blkcg_gq *tg_to_blkg(struct throtl_grp *tg) in tg_to_blkg()
250 static struct throtl_grp *sq_to_tg(struct throtl_service_queue *sq) in sq_to_tg()
253 return container_of(sq, struct throtl_grp, service_queue); in sq_to_tg()
267 struct throtl_grp *tg = sq_to_tg(sq); in sq_to_td()
293 static uint64_t tg_bps_limit(struct throtl_grp *tg, int rw) in tg_bps_limit()
323 static unsigned int tg_iops_limit(struct throtl_grp *tg, int rw) in tg_iops_limit()
368 struct throtl_grp *__tg = sq_to_tg((sq)); \
390 static void throtl_qnode_init(struct throtl_qnode *qn, struct throtl_grp *tg) in throtl_qnode_init()
449 struct throtl_grp **tg_to_put) in throtl_pop_queued()
484 struct throtl_grp *tg; in throtl_pd_alloc()
519 struct throtl_grp *tg = pd_to_tg(pd); in throtl_pd_init()
548 static void tg_update_has_rules(struct throtl_grp *tg) in tg_update_has_rules()
550 struct throtl_grp *parent_tg = sq_to_tg(tg->service_queue.parent_sq); in tg_update_has_rules()
563 struct throtl_grp *tg = pd_to_tg(pd); in throtl_pd_online()
579 struct throtl_grp *tg = blkg_to_tg(blkg); in blk_throtl_update_limit_valid()
595 struct throtl_grp *tg = pd_to_tg(pd); in throtl_pd_offline()
610 struct throtl_grp *tg = pd_to_tg(pd); in throtl_pd_free()
616 static struct throtl_grp *
649 struct throtl_grp *tg; in update_min_dispatch_time()
658 static void tg_service_queue_add(struct throtl_grp *tg) in tg_service_queue_add()
663 struct throtl_grp *__tg; in tg_service_queue_add()
686 static void __throtl_enqueue_tg(struct throtl_grp *tg) in __throtl_enqueue_tg()
693 static void throtl_enqueue_tg(struct throtl_grp *tg) in throtl_enqueue_tg()
699 static void __throtl_dequeue_tg(struct throtl_grp *tg) in __throtl_dequeue_tg()
705 static void throtl_dequeue_tg(struct throtl_grp *tg) in throtl_dequeue_tg()
768 static inline void throtl_start_new_slice_with_credit(struct throtl_grp *tg, in throtl_start_new_slice_with_credit()
790 static inline void throtl_start_new_slice(struct throtl_grp *tg, bool rw) in throtl_start_new_slice()
802 static inline void throtl_set_slice_end(struct throtl_grp *tg, bool rw, in throtl_set_slice_end()
808 static inline void throtl_extend_slice(struct throtl_grp *tg, bool rw, in throtl_extend_slice()
819 static bool throtl_slice_used(struct throtl_grp *tg, bool rw) in throtl_slice_used()
828 static inline void throtl_trim_slice(struct throtl_grp *tg, bool rw) in throtl_trim_slice()
887 static bool tg_with_in_iops_limit(struct throtl_grp *tg, struct bio *bio, in tg_with_in_iops_limit()
932 static bool tg_with_in_bps_limit(struct throtl_grp *tg, struct bio *bio, in tg_with_in_bps_limit()
979 static bool tg_may_dispatch(struct throtl_grp *tg, struct bio *bio, in tg_may_dispatch()
1036 static void throtl_charge_bio(struct throtl_grp *tg, struct bio *bio) in throtl_charge_bio()
1067 struct throtl_grp *tg) in throtl_add_bio_tg()
1090 static void tg_update_disptime(struct throtl_grp *tg) in tg_update_disptime()
1116 static void start_parent_slice_with_credit(struct throtl_grp *child_tg, in start_parent_slice_with_credit()
1117 struct throtl_grp *parent_tg, bool rw) in start_parent_slice_with_credit()
1126 static void tg_dispatch_one_bio(struct throtl_grp *tg, bool rw) in tg_dispatch_one_bio()
1130 struct throtl_grp *parent_tg = sq_to_tg(parent_sq); in tg_dispatch_one_bio()
1131 struct throtl_grp *tg_to_put = NULL; in tg_dispatch_one_bio()
1168 static int throtl_dispatch_tg(struct throtl_grp *tg) in throtl_dispatch_tg()
1206 struct throtl_grp *tg = throtl_rb_first(parent_sq); in throtl_select_dispatch()
1231 struct throtl_grp *this_tg);
1250 struct throtl_grp *tg = sq_to_tg(sq); in throtl_pending_timer_fn()
1345 struct throtl_grp *tg = pd_to_tg(pd); in tg_prfill_conf_u64()
1356 struct throtl_grp *tg = pd_to_tg(pd); in tg_prfill_conf_uint()
1378 static void tg_conf_updated(struct throtl_grp *tg, bool global) in tg_conf_updated()
1398 struct throtl_grp *this_tg = blkg_to_tg(blkg); in tg_conf_updated()
1399 struct throtl_grp *parent_tg; in tg_conf_updated()
1439 struct throtl_grp *tg; in tg_set_conf()
1482 .private = offsetof(struct throtl_grp, bps[READ][LIMIT_MAX]),
1488 .private = offsetof(struct throtl_grp, bps[WRITE][LIMIT_MAX]),
1494 .private = offsetof(struct throtl_grp, iops[READ][LIMIT_MAX]),
1500 .private = offsetof(struct throtl_grp, iops[WRITE][LIMIT_MAX]),
1530 struct throtl_grp *tg = pd_to_tg(pd); in tg_prfill_limit()
1602 struct throtl_grp *tg; in tg_set_limit()
1751 static unsigned long __tg_last_low_overflow_time(struct throtl_grp *tg) in __tg_last_low_overflow_time()
1763 static unsigned long tg_last_low_overflow_time(struct throtl_grp *tg) in tg_last_low_overflow_time()
1766 struct throtl_grp *parent = tg; in tg_last_low_overflow_time()
1790 static bool throtl_tg_is_idle(struct throtl_grp *tg) in throtl_tg_is_idle()
1816 static bool throtl_tg_can_upgrade(struct throtl_grp *tg) in throtl_tg_can_upgrade()
1843 static bool throtl_hierarchy_can_upgrade(struct throtl_grp *tg) in throtl_hierarchy_can_upgrade()
1856 struct throtl_grp *this_tg) in throtl_can_upgrade()
1869 struct throtl_grp *tg = blkg_to_tg(blkg); in throtl_can_upgrade()
1884 static void throtl_upgrade_check(struct throtl_grp *tg) in throtl_upgrade_check()
1915 struct throtl_grp *tg = blkg_to_tg(blkg); in throtl_upgrade_state()
1942 static bool throtl_tg_can_downgrade(struct throtl_grp *tg) in throtl_tg_can_downgrade()
1960 static bool throtl_hierarchy_can_downgrade(struct throtl_grp *tg) in throtl_hierarchy_can_downgrade()
1972 static void throtl_downgrade_check(struct throtl_grp *tg) in throtl_downgrade_check()
2033 static void blk_throtl_update_idletime(struct throtl_grp *tg) in blk_throtl_update_idletime()
2129 static void blk_throtl_assoc_bio(struct throtl_grp *tg, struct bio *bio) in blk_throtl_assoc_bio()
2143 struct throtl_grp *tg = blkg_to_tg(blkg ?: q->root_blkg); in blk_throtl_bio()
2283 struct throtl_grp *tg; in blk_throtl_bio_endio()
2340 struct throtl_grp *tg; in tg_drain_bios()