函数逻辑报告 |
Source Code:block\bfq-iosched.c |
Create Date:2022-07-27 19:32:04 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称: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
函数原型:void bfq_bfqq_expire(struct bfq_data *bfqd, struct bfq_queue *bfqq, bool compensate, enum bfqq_expiration reason)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct bfq_data * | bfqd | |
| struct bfq_queue * | bfqq | |
| bool | compensate | |
| enum bfqq_expiration | reason |
| 3915 | delta等于0 |
| 3983 | 否则如果umber of requests on the dispatch list or inside driver 大于0则 |
| 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 | 如果__bfq_bfqq_expire(bfqd, bfqq, reason)则返回 |
| 4014 | 如果非bfq_bfqq_busy(bfqq)且reason不等于udget took too long to be used 且reason不等于udget consumed 则 |
| 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) |
| 名称 | 描述 |
|---|---|
| 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 |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |