Lines Matching refs:bfqd
227 if (!(bfqq == ((struct bfq_data *)bfqg->bfqd)->in_service_queue)) in bfqg_stats_update_io_add()
314 bfqq->bfqd->root_group; in bfqq_group()
527 struct bfq_data *bfqd = blkg->q->elevator->elevator_data; in bfq_pd_init() local
537 bfqg->bfqd = bfqd; in bfq_pd_init()
567 static struct bfq_group *bfq_lookup_bfqg(struct bfq_data *bfqd, in bfq_lookup_bfqg() argument
572 blkg = blkg_lookup(blkcg, bfqd->queue); in bfq_lookup_bfqg()
578 struct bfq_group *bfq_find_set_group(struct bfq_data *bfqd, in bfq_find_set_group() argument
584 bfqg = bfq_lookup_bfqg(bfqd, blkcg); in bfq_find_set_group()
597 if (bfqg != bfqd->root_group) { in bfq_find_set_group()
600 parent = bfqd->root_group; in bfq_find_set_group()
622 void bfq_bfqq_move(struct bfq_data *bfqd, struct bfq_queue *bfqq, in bfq_bfqq_move() argument
633 if (bfqq == bfqd->in_service_queue) in bfq_bfqq_move()
634 bfq_bfqq_expire(bfqd, bfqd->in_service_queue, in bfq_bfqq_move()
638 bfq_deactivate_bfqq(bfqd, bfqq, false, false); in bfq_bfqq_move()
649 if (unlikely(!bfqd->nonrot_with_queueing)) in bfq_bfqq_move()
650 bfq_pos_tree_add_move(bfqd, bfqq); in bfq_bfqq_move()
651 bfq_activate_bfqq(bfqd, bfqq); in bfq_bfqq_move()
654 if (!bfqd->in_service_queue && !bfqd->rq_in_driver) in bfq_bfqq_move()
655 bfq_schedule_dispatch(bfqd); in bfq_bfqq_move()
672 static struct bfq_group *__bfq_bic_change_cgroup(struct bfq_data *bfqd, in __bfq_bic_change_cgroup() argument
681 bfqg = bfq_find_set_group(bfqd, blkcg); in __bfq_bic_change_cgroup()
684 bfqg = bfqd->root_group; in __bfq_bic_change_cgroup()
691 bfq_log_bfqq(bfqd, async_bfqq, in __bfq_bic_change_cgroup()
701 bfq_bfqq_move(bfqd, sync_bfqq, bfqg); in __bfq_bic_change_cgroup()
709 struct bfq_data *bfqd = bic_to_bfqd(bic); in bfq_bic_update_cgroup() local
720 if (unlikely(!bfqd) || likely(bic->blkcg_serial_nr == serial_nr)) in bfq_bic_update_cgroup()
723 bfqg = __bfq_bic_change_cgroup(bfqd, bic, __bio_blkcg(bio)); in bfq_bic_update_cgroup()
797 static void bfq_reparent_leaf_entity(struct bfq_data *bfqd, in bfq_reparent_leaf_entity() argument
802 bfq_bfqq_move(bfqd, bfqq, bfqd->root_group); in bfq_reparent_leaf_entity()
812 static void bfq_reparent_active_entities(struct bfq_data *bfqd, in bfq_reparent_active_entities() argument
823 bfq_reparent_leaf_entity(bfqd, entity); in bfq_reparent_active_entities()
826 bfq_reparent_leaf_entity(bfqd, in bfq_reparent_active_entities()
842 struct bfq_data *bfqd = bfqg->bfqd; in bfq_pd_offline() local
847 spin_lock_irqsave(&bfqd->lock, flags); in bfq_pd_offline()
878 bfq_reparent_active_entities(bfqd, bfqg, st); in bfq_pd_offline()
884 bfq_put_async_queues(bfqd, bfqg); in bfq_pd_offline()
886 spin_unlock_irqrestore(&bfqd->lock, flags); in bfq_pd_offline()
896 void bfq_end_wr_async(struct bfq_data *bfqd) in bfq_end_wr_async() argument
900 list_for_each_entry(blkg, &bfqd->queue->blkg_list, q_node) { in bfq_end_wr_async()
903 bfq_end_wr_async_queues(bfqd, bfqg); in bfq_end_wr_async()
905 bfq_end_wr_async_queues(bfqd, bfqd->root_group); in bfq_end_wr_async()
1185 struct bfq_group *bfq_create_group_hierarchy(struct bfq_data *bfqd, int node) in bfq_create_group_hierarchy() argument
1189 ret = blkcg_activate_policy(bfqd->queue, &blkcg_policy_bfq); in bfq_create_group_hierarchy()
1193 return blkg_to_bfqg(bfqd->queue->root_blkg); in bfq_create_group_hierarchy()
1350 void bfq_bfqq_move(struct bfq_data *bfqd, struct bfq_queue *bfqq, in bfq_bfqq_move() argument
1368 void bfq_end_wr_async(struct bfq_data *bfqd) in bfq_end_wr_async() argument
1370 bfq_end_wr_async_queues(bfqd, bfqd->root_group); in bfq_end_wr_async()
1373 struct bfq_group *bfq_find_set_group(struct bfq_data *bfqd, struct blkcg *blkcg) in bfq_find_set_group() argument
1375 return bfqd->root_group; in bfq_find_set_group()
1380 return bfqq->bfqd->root_group; in bfqq_group()
1383 struct bfq_group *bfq_create_group_hierarchy(struct bfq_data *bfqd, int node) in bfq_create_group_hierarchy() argument