Lines Matching defs:bfqq

179 	 * group is already marked empty. This can happen if bfqq got new
222 void bfqg_stats_update_io_add(struct bfq_group *bfqg, struct bfq_queue *bfqq,
227 if (!(bfqq == bfqg->bfqd->in_service_queue))
228 bfqg_stats_set_start_group_wait_time(bfqg, bfqq_group(bfqq));
303 struct bfq_group *bfqq_group(struct bfq_queue *bfqq)
305 struct bfq_entity *group_entity = bfqq->entity.parent;
309 bfqq->bfqd->root_group;
419 struct bfq_queue *bfqq = bfq_entity_to_bfqq(entity);
423 if (bfqq) {
424 bfqq->ioprio = bfqq->new_ioprio;
425 bfqq->ioprio_class = bfqq->new_ioprio_class;
622 * bfq_bfqq_move - migrate @bfqq to @bfqg.
624 * @bfqq: the queue to move.
627 * Move @bfqq to @bfqg, deactivating it from its old group and reactivating
635 void bfq_bfqq_move(struct bfq_data *bfqd, struct bfq_queue *bfqq,
638 struct bfq_entity *entity = &bfqq->entity;
639 struct bfq_group *old_parent = bfqq_group(bfqq);
643 * No point to move bfqq to the same group, which can happen when
653 if (bfqq == &bfqd->oom_bfqq)
656 * Get extra reference to prevent bfqq from being freed in
659 bfqq->ref++;
663 bfq_del_bfqq_in_groups_with_pending_reqs(bfqq);
666 /* If bfqq is empty, then bfq_bfqq_expire also invokes
667 * bfq_del_bfqq_busy, thereby removing bfqq and its entity
669 * need to remove bfqq explicitly with bfq_deactivate_bfqq, as
672 if (bfqq == bfqd->in_service_queue)
676 if (bfq_bfqq_busy(bfqq))
677 bfq_deactivate_bfqq(bfqd, bfqq, false, false);
683 entity->parent->last_bfqq_created == bfqq)
685 else if (bfqd->last_bfqq_created == bfqq)
694 bfq_add_bfqq_in_groups_with_pending_reqs(bfqq);
696 if (bfq_bfqq_busy(bfqq)) {
698 bfq_pos_tree_add_move(bfqd, bfqq);
699 bfq_activate_bfqq(bfqd, bfqq);
704 /* release extra ref taken above, bfqq may happen to be freed now */
705 bfq_put_queue(bfqq);
714 struct bfq_queue *bfqq;
717 /* We are the only user of this bfqq, just move it */
728 for (bfqq = sync_bfqq; bfqq; bfqq = bfqq->new_bfqq)
729 if (bfqq->entity.sched_data != &bfqg->sched_data)
731 if (bfqq) {
738 * already happened, we need to detach from bfqq now
877 struct bfq_queue *bfqq;
892 bfqq = bfq_entity_to_bfqq(child_entity);
893 bfq_bfqq_move(bfqd, bfqq, bfqd->root_group);
1447 void bfq_bfqq_move(struct bfq_data *bfqd, struct bfq_queue *bfqq,
1452 struct bfq_queue *bfqq = bfq_entity_to_bfqq(entity);
1456 if (bfqq) {
1457 bfqq->ioprio = bfqq->new_ioprio;
1458 bfqq->ioprio_class = bfqq->new_ioprio_class;
1475 struct bfq_group *bfqq_group(struct bfq_queue *bfqq)
1477 return bfqq->bfqd->root_group;