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 |