Lines Matching defs:parent_sq
61 if (sq && sq->parent_sq)
320 sq->parent_sq = &td->service_queue;
322 sq->parent_sq = &blkg_to_tg(blkg->parent)->service_queue;
333 struct throtl_grp *parent_tg = sq_to_tg(tg->service_queue.parent_sq);
367 throtl_rb_first(struct throtl_service_queue *parent_sq)
371 n = rb_first_cached(&parent_sq->pending_tree);
379 struct throtl_service_queue *parent_sq)
381 rb_erase_cached(n, &parent_sq->pending_tree);
385 static void update_min_dispatch_time(struct throtl_service_queue *parent_sq)
389 tg = throtl_rb_first(parent_sq);
393 parent_sq->first_pending_disptime = tg->disptime;
398 struct throtl_service_queue *parent_sq = tg->service_queue.parent_sq;
399 struct rb_node **node = &parent_sq->pending_tree.rb_root.rb_node;
418 rb_insert_color_cached(&tg->rb_node, &parent_sq->pending_tree,
427 tg->service_queue.parent_sq->nr_pending++;
434 struct throtl_service_queue *parent_sq =
435 tg->service_queue.parent_sq;
437 throtl_rb_erase(&tg->rb_node, parent_sq);
438 --parent_sq->nr_pending;
977 throtl_rb_erase(&tg->rb_node, tg->service_queue.parent_sq);
999 struct throtl_service_queue *parent_sq = sq->parent_sq;
1000 struct throtl_grp *parent_tg = sq_to_tg(parent_sq);
1005 * @bio is being transferred from @tg to @parent_sq. Popping a bio
1006 * from @tg may put its reference and @parent_sq might end up
1008 * after @bio is transferred to @parent_sq.
1027 parent_sq);
1071 static int throtl_select_dispatch(struct throtl_service_queue *parent_sq)
1079 if (!parent_sq->nr_pending)
1082 tg = throtl_rb_first(parent_sq);
1125 struct throtl_service_queue *parent_sq;
1142 parent_sq = sq->parent_sq;
1170 if (parent_sq) {
1171 /* @parent_sq is another throl_grp, propagate dispatch */
1175 if (!throtl_schedule_next_dispatch(parent_sq, false)) {
1177 sq = parent_sq;
1305 throtl_schedule_next_dispatch(sq->parent_sq, true);
1658 throtl_schedule_next_dispatch(sq->parent_sq, true);
1837 sq = sq->parent_sq;
1867 throtl_schedule_next_dispatch(tg->service_queue.parent_sq, true);