Lines Matching refs:parent_sq

59 	struct throtl_service_queue *parent_sq;	/* the parent service_queue */  member
209 if (sq && sq->parent_sq) in sq_to_tg()
391 struct throtl_service_queue *parent_sq) in throtl_service_queue_init() argument
396 sq->parent_sq = parent_sq; in throtl_service_queue_init()
410 struct throtl_service_queue *parent_sq; in throtl_pd_init() local
427 parent_sq = &td->service_queue; in throtl_pd_init()
430 parent_sq = &blkg_to_tg(blkg->parent)->service_queue; in throtl_pd_init()
432 throtl_service_queue_init(&tg->service_queue, parent_sq); in throtl_pd_init()
465 struct throtl_grp *parent_tg = sq_to_tg(tg->service_queue.parent_sq); in tg_update_has_rules()
553 throtl_rb_first(struct throtl_service_queue *parent_sq) in throtl_rb_first() argument
556 if (!parent_sq->nr_pending) in throtl_rb_first()
559 if (!parent_sq->first_pending) in throtl_rb_first()
560 parent_sq->first_pending = rb_first(&parent_sq->pending_tree); in throtl_rb_first()
562 if (parent_sq->first_pending) in throtl_rb_first()
563 return rb_entry_tg(parent_sq->first_pending); in throtl_rb_first()
575 struct throtl_service_queue *parent_sq) in throtl_rb_erase() argument
577 if (parent_sq->first_pending == n) in throtl_rb_erase()
578 parent_sq->first_pending = NULL; in throtl_rb_erase()
579 rb_erase_init(n, &parent_sq->pending_tree); in throtl_rb_erase()
580 --parent_sq->nr_pending; in throtl_rb_erase()
583 static void update_min_dispatch_time(struct throtl_service_queue *parent_sq) in update_min_dispatch_time() argument
587 tg = throtl_rb_first(parent_sq); in update_min_dispatch_time()
591 parent_sq->first_pending_disptime = tg->disptime; in update_min_dispatch_time()
596 struct throtl_service_queue *parent_sq = tg->service_queue.parent_sq; in tg_service_queue_add() local
597 struct rb_node **node = &parent_sq->pending_tree.rb_node; in tg_service_queue_add()
616 parent_sq->first_pending = &tg->rb_node; in tg_service_queue_add()
619 rb_insert_color(&tg->rb_node, &parent_sq->pending_tree); in tg_service_queue_add()
626 tg->service_queue.parent_sq->nr_pending++; in __throtl_enqueue_tg()
637 throtl_rb_erase(&tg->rb_node, tg->service_queue.parent_sq); in __throtl_dequeue_tg()
1081 struct throtl_service_queue *parent_sq = sq->parent_sq; in tg_dispatch_one_bio() local
1082 struct throtl_grp *parent_tg = sq_to_tg(parent_sq); in tg_dispatch_one_bio()
1109 &parent_sq->queued[rw]); in tg_dispatch_one_bio()
1153 static int throtl_select_dispatch(struct throtl_service_queue *parent_sq) in throtl_select_dispatch() argument
1158 struct throtl_grp *tg = throtl_rb_first(parent_sq); in throtl_select_dispatch()
1202 struct throtl_service_queue *parent_sq; in throtl_pending_timer_fn() local
1208 parent_sq = sq->parent_sq; in throtl_pending_timer_fn()
1234 if (parent_sq) { in throtl_pending_timer_fn()
1238 if (!throtl_schedule_next_dispatch(parent_sq, false)) { in throtl_pending_timer_fn()
1240 sq = parent_sq; in throtl_pending_timer_fn()
1406 throtl_schedule_next_dispatch(sq->parent_sq, true); in tg_set_conf()
1552 sq = sq->parent_sq; in blk_throtl_bio()
1578 throtl_schedule_next_dispatch(tg->service_queue.parent_sq, true); in blk_throtl_bio()
1601 static void tg_drain_bios(struct throtl_service_queue *parent_sq) in tg_drain_bios() argument
1605 while ((tg = throtl_rb_first(parent_sq))) { in tg_drain_bios()