Lines Matching refs:bfq_queue
138 void bfq_mark_bfqq_##name(struct bfq_queue *bfqq) \
142 void bfq_clear_bfqq_##name(struct bfq_queue *bfqq) \
146 int bfq_bfqq_##name(const struct bfq_queue *bfqq) \
380 struct bfq_queue *bic_to_bfqq(struct bfq_io_cq *bic, bool is_sync) in bic_to_bfqq()
385 static void bfq_put_stable_ref(struct bfq_queue *bfqq);
387 void bic_set_bfqq(struct bfq_io_cq *bic, struct bfq_queue *bfqq, bool is_sync) in bic_set_bfqq()
389 struct bfq_queue *old_bfqq = bic->bfqq[is_sync]; in bic_set_bfqq()
574 static bool bfqq_request_over_limit(struct bfq_queue *bfqq, int limit) in bfqq_request_over_limit()
656 static bool bfqq_request_over_limit(struct bfq_queue *bfqq, int limit) in bfqq_request_over_limit()
681 struct bfq_queue *bfqq = bic ? bic_to_bfqq(bic, op_is_sync(opf)) : NULL; in bfq_limit_depth()
707 static struct bfq_queue *
713 struct bfq_queue *bfqq = NULL; in bfq_rq_pos_tree_lookup()
721 bfqq = rb_entry(parent, struct bfq_queue, pos_node); in bfq_rq_pos_tree_lookup()
748 static bool bfq_too_late_for_merging(struct bfq_queue *bfqq) in bfq_too_late_for_merging()
764 bfq_pos_tree_add_move(struct bfq_data *bfqd, struct bfq_queue *bfqq) in bfq_pos_tree_add_move()
767 struct bfq_queue *__bfqq; in bfq_pos_tree_add_move()
835 struct bfq_queue *bfqq) in bfq_asymmetric_scenario()
879 void bfq_weights_tree_add(struct bfq_data *bfqd, struct bfq_queue *bfqq, in bfq_weights_tree_add()
954 struct bfq_queue *bfqq, in __bfq_weights_tree_remove()
977 struct bfq_queue *bfqq) in bfq_weights_tree_remove()
1028 static struct request *bfq_check_fifo(struct bfq_queue *bfqq, in bfq_check_fifo()
1048 struct bfq_queue *bfqq, in bfq_find_next_rq()
1076 struct bfq_queue *bfqq) in bfq_serv_to_charge()
1097 struct bfq_queue *bfqq) in bfq_updated_next_req()
1159 static void switch_back_to_interactive_wr(struct bfq_queue *bfqq, in switch_back_to_interactive_wr()
1168 bfq_bfqq_resume_state(struct bfq_queue *bfqq, struct bfq_data *bfqd, in bfq_bfqq_resume_state()
1231 static int bfqq_process_refs(struct bfq_queue *bfqq) in bfqq_process_refs()
1239 static void bfq_reset_burst_list(struct bfq_data *bfqd, struct bfq_queue *bfqq) in bfq_reset_burst_list()
1241 struct bfq_queue *item; in bfq_reset_burst_list()
1262 static void bfq_add_to_burst(struct bfq_data *bfqd, struct bfq_queue *bfqq) in bfq_add_to_burst()
1268 struct bfq_queue *pos, *bfqq_item; in bfq_add_to_burst()
1414 static void bfq_handle_burst(struct bfq_data *bfqd, struct bfq_queue *bfqq) in bfq_handle_burst()
1480 static int bfq_bfqq_budget_left(struct bfq_queue *bfqq) in bfq_bfqq_budget_left()
1617 struct bfq_queue *bfqq, in bfq_bfqq_update_budg_for_activation()
1686 struct bfq_queue *bfqq, in bfq_update_bfqq_wr_on_rq_arrival()
1783 struct bfq_queue *bfqq) in bfq_bfqq_idle_for_long_time()
1796 static bool bfq_bfqq_higher_class_or_weight(struct bfq_queue *bfqq, in bfq_bfqq_higher_class_or_weight()
1797 struct bfq_queue *in_serv_bfqq) in bfq_bfqq_higher_class_or_weight()
1821 static bool bfq_better_to_idle(struct bfq_queue *bfqq);
1824 struct bfq_queue *bfqq, in bfq_bfqq_handle_idle_busy_switch()
1990 struct bfq_queue *bfqq) in bfq_reset_inject_limit()
2055 static void bfq_update_io_intensity(struct bfq_queue *bfqq, u64 now_ns) in bfq_update_io_intensity()
2136 static void bfq_check_waker(struct bfq_data *bfqd, struct bfq_queue *bfqq, in bfq_check_waker()
2208 struct bfq_queue *bfqq = RQ_BFQQ(rq); in bfq_add_request()
2365 struct bfq_queue *bfqq = bfqd->bio_bfqq; in bfq_find_rq_fmerge()
2401 struct bfq_queue *bfqq = RQ_BFQQ(rq); in bfq_remove_request()
2528 struct bfq_queue *bfqq = RQ_BFQQ(req); in bfq_request_merged()
2580 struct bfq_queue *bfqq = RQ_BFQQ(rq), in bfq_requests_merged()
2618 static void bfq_bfqq_end_wr(struct bfq_queue *bfqq) in bfq_bfqq_end_wr()
2665 struct bfq_queue *bfqq; in bfq_end_wr()
2693 static struct bfq_queue *bfqq_find_close(struct bfq_data *bfqd, in bfqq_find_close()
2694 struct bfq_queue *bfqq, in bfqq_find_close()
2699 struct bfq_queue *__bfqq; in bfqq_find_close()
2717 __bfqq = rb_entry(parent, struct bfq_queue, pos_node); in bfqq_find_close()
2728 __bfqq = rb_entry(node, struct bfq_queue, pos_node); in bfqq_find_close()
2735 static struct bfq_queue *bfq_find_close_cooperator(struct bfq_data *bfqd, in bfq_find_close_cooperator()
2736 struct bfq_queue *cur_bfqq, in bfq_find_close_cooperator()
2739 struct bfq_queue *bfqq; in bfq_find_close_cooperator()
2755 static struct bfq_queue *
2756 bfq_setup_merge(struct bfq_queue *bfqq, struct bfq_queue *new_bfqq) in bfq_setup_merge()
2759 struct bfq_queue *__bfqq; in bfq_setup_merge()
2831 static bool bfq_may_be_close_cooperator(struct bfq_queue *bfqq, in bfq_may_be_close_cooperator()
2832 struct bfq_queue *new_bfqq) in bfq_may_be_close_cooperator()
2861 struct bfq_queue *bfqq);
2883 static struct bfq_queue *
2884 bfq_setup_cooperator(struct bfq_data *bfqd, struct bfq_queue *bfqq, in bfq_setup_cooperator()
2887 struct bfq_queue *in_service_bfqq, *new_bfqq; in bfq_setup_cooperator()
2915 struct bfq_queue *stable_merge_bfqq = in bfq_setup_cooperator()
2928 struct bfq_queue *new_bfqq = in bfq_setup_cooperator()
3031 static void bfq_bfqq_save_state(struct bfq_queue *bfqq) in bfq_bfqq_save_state()
3083 bfq_reassign_last_bfqq(struct bfq_queue *cur_bfqq, struct bfq_queue *new_bfqq) in bfq_reassign_last_bfqq()
3092 void bfq_release_process_ref(struct bfq_data *bfqd, struct bfq_queue *bfqq) in bfq_release_process_ref()
3116 struct bfq_queue *bfqq, struct bfq_queue *new_bfqq) in bfq_merge_bfqqs()
3218 struct bfq_queue *bfqq = bfqd->bio_bfqq, *new_bfqq; in bfq_allow_bio_merge()
3274 struct bfq_queue *bfqq) in bfq_set_budget_timeout()
3290 struct bfq_queue *bfqq) in __bfq_set_in_service_queue()
3346 static struct bfq_queue *bfq_set_in_service_queue(struct bfq_data *bfqd) in bfq_set_in_service_queue()
3348 struct bfq_queue *bfqq = bfq_get_next_queue(bfqd); in bfq_set_in_service_queue()
3356 struct bfq_queue *bfqq = bfqd->in_service_queue; in bfq_arm_slice_timer()
3641 struct bfq_queue *bfqq = RQ_BFQQ(rq); in bfq_dispatch_remove()
3863 struct bfq_queue *bfqq) in idling_needed_for_service_guarantees()
3880 static bool __bfq_bfqq_expire(struct bfq_data *bfqd, struct bfq_queue *bfqq, in __bfq_bfqq_expire()
3949 struct bfq_queue *bfqq, in __bfq_bfqq_recalc_budget()
4140 static bool bfq_bfqq_is_slow(struct bfq_data *bfqd, struct bfq_queue *bfqq, in bfq_bfqq_is_slow()
4291 struct bfq_queue *bfqq) in bfq_bfqq_softrt_next_start()
4327 struct bfq_queue *bfqq, in bfq_bfqq_expire()
4451 static bool bfq_bfqq_budget_timeout(struct bfq_queue *bfqq) in bfq_bfqq_budget_timeout()
4464 static bool bfq_may_expire_for_budg_timeout(struct bfq_queue *bfqq) in bfq_may_expire_for_budg_timeout()
4479 struct bfq_queue *bfqq) in idling_boosts_thr_without_issues()
4578 static bool bfq_better_to_idle(struct bfq_queue *bfqq) in bfq_better_to_idle()
4629 static bool bfq_bfqq_must_idle(struct bfq_queue *bfqq) in bfq_bfqq_must_idle()
4641 static struct bfq_queue *
4644 struct bfq_queue *bfqq, *in_serv_bfqq = bfqd->in_service_queue; in bfq_choose_bfqq_for_injection()
4734 static struct bfq_queue *bfq_select_queue(struct bfq_data *bfqd) in bfq_select_queue()
4736 struct bfq_queue *bfqq; in bfq_select_queue()
4817 struct bfq_queue *async_bfqq = in bfq_select_queue()
4822 struct bfq_queue *blocked_bfqq = in bfq_select_queue()
4825 struct bfq_queue, in bfq_select_queue()
4958 static void bfq_update_wr_data(struct bfq_data *bfqd, struct bfq_queue *bfqq) in bfq_update_wr_data()
5027 struct bfq_queue *bfqq) in bfq_dispatch_rq_from_bfqq()
5089 struct bfq_queue *bfqq = NULL; in __bfq_dispatch_request()
5176 struct bfq_queue *in_serv_queue, in bfq_update_dispatch_stats()
5179 struct bfq_queue *bfqq = rq ? RQ_BFQQ(rq) : NULL; in bfq_update_dispatch_stats()
5221 struct bfq_queue *in_serv_queue, in bfq_update_dispatch_stats()
5229 struct bfq_queue *in_serv_queue; in bfq_dispatch_request()
5258 void bfq_put_queue(struct bfq_queue *bfqq) in bfq_put_queue()
5260 struct bfq_queue *item; in bfq_put_queue()
5335 static void bfq_put_stable_ref(struct bfq_queue *bfqq) in bfq_put_stable_ref()
5341 void bfq_put_cooperator(struct bfq_queue *bfqq) in bfq_put_cooperator()
5343 struct bfq_queue *__bfqq, *next; in bfq_put_cooperator()
5360 static void bfq_exit_bfqq(struct bfq_data *bfqd, struct bfq_queue *bfqq) in bfq_exit_bfqq()
5376 struct bfq_queue *bfqq = bic_to_bfqq(bic, is_sync); in bfq_exit_icq_bfqq()
5423 bfq_set_next_ioprio_data(struct bfq_queue *bfqq, struct bfq_io_cq *bic) in bfq_set_next_ioprio_data()
5472 static struct bfq_queue *bfq_get_queue(struct bfq_data *bfqd,
5480 struct bfq_queue *bfqq; in bfq_check_ioprio_change()
5504 static void bfq_init_bfqq(struct bfq_data *bfqd, struct bfq_queue *bfqq, in bfq_init_bfqq()
5570 static struct bfq_queue **bfq_async_queue_prio(struct bfq_data *bfqd, in bfq_async_queue_prio()
5589 static struct bfq_queue *
5590 bfq_do_early_stable_merge(struct bfq_data *bfqd, struct bfq_queue *bfqq, in bfq_do_early_stable_merge()
5592 struct bfq_queue *last_bfqq_created) in bfq_do_early_stable_merge()
5594 struct bfq_queue *new_bfqq = in bfq_do_early_stable_merge()
5662 static struct bfq_queue *bfq_do_or_sched_stable_merge(struct bfq_data *bfqd, in bfq_do_or_sched_stable_merge()
5663 struct bfq_queue *bfqq, in bfq_do_or_sched_stable_merge()
5666 struct bfq_queue **source_bfqq = bfqq->entity.parent ? in bfq_do_or_sched_stable_merge()
5670 struct bfq_queue *last_bfqq_created = *source_bfqq; in bfq_do_or_sched_stable_merge()
5735 static struct bfq_queue *bfq_get_queue(struct bfq_data *bfqd, in bfq_get_queue()
5742 struct bfq_queue **async_bfqq = NULL; in bfq_get_queue()
5743 struct bfq_queue *bfqq; in bfq_get_queue()
5796 struct bfq_queue *bfqq) in bfq_update_io_thinktime()
5818 bfq_update_io_seektime(struct bfq_data *bfqd, struct bfq_queue *bfqq, in bfq_update_io_seektime()
5849 struct bfq_queue *bfqq, in bfq_update_has_short_ttime()
5980 static void bfq_rq_enqueued(struct bfq_data *bfqd, struct bfq_queue *bfqq, in bfq_rq_enqueued()
6036 static void bfqq_request_allocated(struct bfq_queue *bfqq) in bfqq_request_allocated()
6044 static void bfqq_request_freed(struct bfq_queue *bfqq) in bfqq_request_freed()
6055 struct bfq_queue *bfqq = RQ_BFQQ(rq), in __bfq_insert_request()
6108 struct bfq_queue *bfqq, in bfq_update_insert_stats()
6133 struct bfq_queue *bfqq, in bfq_update_insert_stats()
6138 static struct bfq_queue *bfq_init_rq(struct request *rq);
6145 struct bfq_queue *bfqq; in bfq_insert_request()
6211 struct bfq_queue *bfqq = bfqd->in_service_queue; in bfq_update_hw_tag()
6250 static void bfq_completed_request(struct bfq_queue *bfqq, struct bfq_data *bfqd) in bfq_completed_request()
6485 struct bfq_queue *bfqq) in bfq_update_inject_limit()
6549 struct bfq_queue *bfqq = RQ_BFQQ(rq); in bfq_finish_requeue_request()
6618 static struct bfq_queue *
6619 bfq_split_bfqq(struct bfq_io_cq *bic, struct bfq_queue *bfqq) in bfq_split_bfqq()
6638 static struct bfq_queue *bfq_get_bfqq_handle_split(struct bfq_data *bfqd, in bfq_get_bfqq_handle_split()
6644 struct bfq_queue *bfqq = bic_to_bfqq(bic, is_sync); in bfq_get_bfqq_handle_split()
6742 static struct bfq_queue *bfq_init_rq(struct request *rq) in bfq_init_rq()
6749 struct bfq_queue *bfqq; in bfq_init_rq()
6779 struct bfq_queue *old_bfqq = bfqq; in bfq_init_rq()
6872 bfq_idle_slice_timer_body(struct bfq_data *bfqd, struct bfq_queue *bfqq) in bfq_idle_slice_timer_body()
6926 struct bfq_queue *bfqq = bfqd->in_service_queue; in bfq_idle_slice_timer()
6943 struct bfq_queue **bfqq_ptr) in __bfq_put_async_bfqq()
6945 struct bfq_queue *bfqq = *bfqq_ptr; in __bfq_put_async_bfqq()
7034 struct bfq_queue *bfqq, *n; in bfq_exit_queue()
7221 bfq_pool = KMEM_CACHE(bfq_queue, 0); in bfq_slab_setup()