Function report |
Source Code:block\bfq-iosched.c |
Create Date:2022-07-28 17:56:21 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:q_bfqq_expire - expire a queue.*@bfqd: device owning the queue.*@bfqq: the queue to expire.*@compensate: if true, compensate for the time spent idling.*@reason: the reason causing the expiration.* If the process associated with bfqq does slow I/O (e
Proto:void bfq_bfqq_expire(struct bfq_data *bfqd, struct bfq_queue *bfqq, bool compensate, enum bfqq_expiration reason)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
struct bfq_data * | bfqd | |
struct bfq_queue * | bfqq | |
bool | compensate | |
enum bfqq_expiration | reason |
3915 | delta = 0 |
3938 | If actor by which the weight of this queue is multiplied == 1 && (slow || reason == udget took too long to be used && bfq_bfqq_budget_left(bfqq) >= budget, used also to calculate F_i: F_i = S_i + @budget / @weight / 3 ) Then bfq_bfqq_charge_time(bfqd, bfqq, delta) |
3983 | Else if umber of requests on the dispatch list or inside driver > 0 Then |
3992 | bfq_log_bfqq(bfqd, bfqq, "expire (%d, slow %d, num_disp %d, short_ttime %d)", reason, slow, umber of requests on the dispatch list or inside driver , bfq_bfqq_has_short_ttime(bfqq)) |
4002 | * If set, then bfq_update_inject_limit() is invoked when * waited_rq is eventually completed. = NULL |
4009 | If __bfq_bfqq_expire(bfqd, bfqq, reason) Then Return |
4014 | If Not bfq_bfqq_busy(bfqq) && reason != udget took too long to be used && reason != udget consumed Then |
4023 | Else amount of service received during the last service slot = 0 |
4044 | Next two macros are fake loops when cgroups support is not* enabled. I fact, in such a case, there is only one level to go up* (to reach the root group).(entity) |
Name | Describe |
---|---|
bfq_bfqq_handle_idle_busy_switch | |
bfq_select_queue | Select a queue for service. If we have a current queue in service,* check whether to continue servicing it, or retrieve and set a new one. |
bfq_dispatch_rq_from_bfqq | Dispatch next request from bfqq. |
bfq_rq_enqueued | Called when a new fs request (rq) is added to bfqq. Check if there's* something we should do about it. |
bfq_completed_request | |
bfq_idle_slice_timer_body |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |