Lines Matching refs:new_bfqq
2755 bfq_setup_merge(struct bfq_queue *bfqq, struct bfq_queue *new_bfqq) in bfq_setup_merge() argument
2766 if (!bfqq_process_refs(new_bfqq)) in bfq_setup_merge()
2770 while ((__bfqq = new_bfqq->new_bfqq)) { in bfq_setup_merge()
2773 new_bfqq = __bfqq; in bfq_setup_merge()
2777 new_process_refs = bfqq_process_refs(new_bfqq); in bfq_setup_merge()
2790 if (new_bfqq->entity.parent != bfqq->entity.parent) in bfq_setup_merge()
2794 new_bfqq->pid); in bfq_setup_merge()
2816 bfqq->new_bfqq = new_bfqq; in bfq_setup_merge()
2826 new_bfqq->ref += process_refs; in bfq_setup_merge()
2827 return new_bfqq; in bfq_setup_merge()
2831 struct bfq_queue *new_bfqq) in bfq_may_be_close_cooperator() argument
2833 if (bfq_too_late_for_merging(new_bfqq)) in bfq_may_be_close_cooperator()
2836 if (bfq_class_idle(bfqq) || bfq_class_idle(new_bfqq) || in bfq_may_be_close_cooperator()
2837 (bfqq->ioprio_class != new_bfqq->ioprio_class)) in bfq_may_be_close_cooperator()
2845 if (BFQQ_SEEKY(bfqq) || BFQQ_SEEKY(new_bfqq)) in bfq_may_be_close_cooperator()
2853 if (!bfq_bfqq_sync(bfqq) || !bfq_bfqq_sync(new_bfqq)) in bfq_may_be_close_cooperator()
2869 struct bfq_queue *new_bfqq = NULL; in bfq_setup_stable_merge() local
2876 new_bfqq = bfq_setup_merge(bfqq, stable_merge_bfqq); in bfq_setup_stable_merge()
2878 if (new_bfqq) { in bfq_setup_stable_merge()
2880 if (new_bfqq->bic) { in bfq_setup_stable_merge()
2881 unsigned int new_a_idx = new_bfqq->actuator_idx; in bfq_setup_stable_merge()
2883 &new_bfqq->bic->bfqq_data[new_a_idx]; in bfq_setup_stable_merge()
2893 return new_bfqq; in bfq_setup_stable_merge()
2920 struct bfq_queue *in_service_bfqq, *new_bfqq; in bfq_setup_cooperator() local
2925 new_bfqq = bfqq->new_bfqq; in bfq_setup_cooperator()
2926 if (new_bfqq) { in bfq_setup_cooperator()
2927 while (new_bfqq->new_bfqq) in bfq_setup_cooperator()
2928 new_bfqq = new_bfqq->new_bfqq; in bfq_setup_cooperator()
2929 return new_bfqq; in bfq_setup_cooperator()
3032 new_bfqq = bfq_setup_merge(bfqq, in_service_bfqq); in bfq_setup_cooperator()
3033 if (new_bfqq) in bfq_setup_cooperator()
3034 return new_bfqq; in bfq_setup_cooperator()
3041 new_bfqq = bfq_find_close_cooperator(bfqd, bfqq, in bfq_setup_cooperator()
3044 if (new_bfqq && likely(new_bfqq != &bfqd->oom_bfqq) && in bfq_setup_cooperator()
3045 bfq_may_be_close_cooperator(bfqq, new_bfqq)) in bfq_setup_cooperator()
3046 return bfq_setup_merge(bfqq, new_bfqq); in bfq_setup_cooperator()
3112 bfq_reassign_last_bfqq(struct bfq_queue *cur_bfqq, struct bfq_queue *new_bfqq) in bfq_reassign_last_bfqq() argument
3116 cur_bfqq->entity.parent->last_bfqq_created = new_bfqq; in bfq_reassign_last_bfqq()
3118 cur_bfqq->bfqd->last_bfqq_created = new_bfqq; in bfq_reassign_last_bfqq()
3147 struct bfq_queue *new_bfqq = bfqq->new_bfqq; in bfq_merge_bfqqs() local
3150 (unsigned long)new_bfqq->pid); in bfq_merge_bfqqs()
3153 bfq_bfqq_save_state(new_bfqq); in bfq_merge_bfqqs()
3155 bfq_mark_bfqq_IO_bound(new_bfqq); in bfq_merge_bfqqs()
3165 if (bfqq->waker_bfqq && !new_bfqq->waker_bfqq && in bfq_merge_bfqqs()
3166 bfqq->waker_bfqq != new_bfqq) { in bfq_merge_bfqqs()
3167 new_bfqq->waker_bfqq = bfqq->waker_bfqq; in bfq_merge_bfqqs()
3168 new_bfqq->tentative_waker_bfqq = NULL; in bfq_merge_bfqqs()
3176 hlist_add_head(&new_bfqq->woken_list_node, in bfq_merge_bfqqs()
3177 &new_bfqq->waker_bfqq->woken_list); in bfq_merge_bfqqs()
3190 if (new_bfqq->wr_coeff == 1 && bfqq->wr_coeff > 1) { in bfq_merge_bfqqs()
3191 new_bfqq->wr_coeff = bfqq->wr_coeff; in bfq_merge_bfqqs()
3192 new_bfqq->wr_cur_max_time = bfqq->wr_cur_max_time; in bfq_merge_bfqqs()
3193 new_bfqq->last_wr_start_finish = bfqq->last_wr_start_finish; in bfq_merge_bfqqs()
3194 new_bfqq->wr_start_at_switch_to_srt = in bfq_merge_bfqqs()
3196 if (bfq_bfqq_busy(new_bfqq)) in bfq_merge_bfqqs()
3198 new_bfqq->entity.prio_changed = 1; in bfq_merge_bfqqs()
3208 bfq_log_bfqq(bfqd, new_bfqq, "merge_bfqqs: wr_busy %d", in bfq_merge_bfqqs()
3214 bic_set_bfqq(bic, new_bfqq, true, bfqq->actuator_idx); in bfq_merge_bfqqs()
3215 bfq_mark_bfqq_coop(new_bfqq); in bfq_merge_bfqqs()
3226 new_bfqq->bic = NULL; in bfq_merge_bfqqs()
3236 new_bfqq->pid = -1; in bfq_merge_bfqqs()
3239 bfq_reassign_last_bfqq(bfqq, new_bfqq); in bfq_merge_bfqqs()
3243 return new_bfqq; in bfq_merge_bfqqs()
3251 struct bfq_queue *bfqq = bfqd->bio_bfqq, *new_bfqq; in bfq_allow_bio_merge() local
3270 new_bfqq = bfq_setup_cooperator(bfqd, bfqq, bio, false, bfqd->bio_bic); in bfq_allow_bio_merge()
3271 if (new_bfqq) { in bfq_allow_bio_merge()
3279 while (bfqq != new_bfqq) in bfq_allow_bio_merge()
5442 __bfqq = bfqq->new_bfqq; in bfq_put_cooperator()
5444 next = __bfqq->new_bfqq; in bfq_put_cooperator()
5698 struct bfq_queue *new_bfqq = in bfq_do_early_stable_merge() local
5701 if (!new_bfqq) in bfq_do_early_stable_merge()
5704 if (new_bfqq->bic) in bfq_do_early_stable_merge()
5705 new_bfqq->bic->bfqq_data[a_idx].stably_merged = true; in bfq_do_early_stable_merge()
6165 *new_bfqq = bfq_setup_cooperator(bfqd, bfqq, rq, true, in __bfq_insert_request() local
6169 if (new_bfqq) { in __bfq_insert_request()
6175 bfqq_request_allocated(new_bfqq); in __bfq_insert_request()
6177 new_bfqq->ref++; in __bfq_insert_request()
6188 while (bfqq != new_bfqq) in __bfq_insert_request()
6198 rq->elv.priv[1] = new_bfqq; in __bfq_insert_request()
6736 if (bfqq_process_refs(bfqq) == 1 && !bfqq->new_bfqq) { in bfq_split_bfqq()
6836 struct bfq_queue *new_bfqq = bfqq->new_bfqq; in bfq_waker_bfqq() local
6842 while (new_bfqq) { in bfq_waker_bfqq()
6843 if (new_bfqq == waker_bfqq) { in bfq_waker_bfqq()
6854 new_bfqq = new_bfqq->new_bfqq; in bfq_waker_bfqq()
6980 if (likely(bfqq != &bfqd->oom_bfqq) && !bfqq->new_bfqq && in bfq_init_rq()