Lines Matching refs:parent_sq
74 struct throtl_service_queue *parent_sq; /* the parent service_queue */ member
251 if (sq && sq->parent_sq) in sq_to_tg()
538 sq->parent_sq = &td->service_queue; in throtl_pd_init()
540 sq->parent_sq = &blkg_to_tg(blkg->parent)->service_queue; in throtl_pd_init()
551 struct throtl_grp *parent_tg = sq_to_tg(tg->service_queue.parent_sq); in tg_update_has_rules()
618 throtl_rb_first(struct throtl_service_queue *parent_sq) in throtl_rb_first() argument
622 if (!parent_sq->nr_pending) in throtl_rb_first()
625 n = rb_first_cached(&parent_sq->pending_tree); in throtl_rb_first()
633 struct throtl_service_queue *parent_sq) in throtl_rb_erase() argument
635 rb_erase_cached(n, &parent_sq->pending_tree); in throtl_rb_erase()
637 --parent_sq->nr_pending; in throtl_rb_erase()
640 static void update_min_dispatch_time(struct throtl_service_queue *parent_sq) in update_min_dispatch_time() argument
644 tg = throtl_rb_first(parent_sq); in update_min_dispatch_time()
648 parent_sq->first_pending_disptime = tg->disptime; in update_min_dispatch_time()
653 struct throtl_service_queue *parent_sq = tg->service_queue.parent_sq; in tg_service_queue_add() local
654 struct rb_node **node = &parent_sq->pending_tree.rb_root.rb_node; in tg_service_queue_add()
673 rb_insert_color_cached(&tg->rb_node, &parent_sq->pending_tree, in tg_service_queue_add()
681 tg->service_queue.parent_sq->nr_pending++; in __throtl_enqueue_tg()
692 throtl_rb_erase(&tg->rb_node, tg->service_queue.parent_sq); in __throtl_dequeue_tg()
1117 struct throtl_service_queue *parent_sq = sq->parent_sq; in tg_dispatch_one_bio() local
1118 struct throtl_grp *parent_tg = sq_to_tg(parent_sq); in tg_dispatch_one_bio()
1145 &parent_sq->queued[rw]); in tg_dispatch_one_bio()
1189 static int throtl_select_dispatch(struct throtl_service_queue *parent_sq) in throtl_select_dispatch() argument
1194 struct throtl_grp *tg = throtl_rb_first(parent_sq); in throtl_select_dispatch()
1241 struct throtl_service_queue *parent_sq; in throtl_pending_timer_fn() local
1250 parent_sq = sq->parent_sq; in throtl_pending_timer_fn()
1276 if (parent_sq) { in throtl_pending_timer_fn()
1280 if (!throtl_schedule_next_dispatch(parent_sq, false)) { in throtl_pending_timer_fn()
1282 sq = parent_sq; in throtl_pending_timer_fn()
1418 throtl_schedule_next_dispatch(sq->parent_sq, true); in tg_conf_updated()
1753 struct throtl_service_queue *parent_sq; in tg_last_low_overflow_time() local
1758 parent_sq = parent->service_queue.parent_sq; in tg_last_low_overflow_time()
1759 parent = sq_to_tg(parent_sq); in tg_last_low_overflow_time()
1836 tg = sq_to_tg(tg->service_queue.parent_sq); in throtl_hierarchy_can_upgrade()
1953 tg = sq_to_tg(tg->service_queue.parent_sq); in throtl_hierarchy_can_downgrade()
2183 sq = sq->parent_sq; in blk_throtl_bio()
2211 throtl_schedule_next_dispatch(tg->service_queue.parent_sq, true); in blk_throtl_bio()
2313 static void tg_drain_bios(struct throtl_service_queue *parent_sq) in tg_drain_bios() argument
2317 while ((tg = throtl_rb_first(parent_sq))) { in tg_drain_bios()