函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |