函数逻辑报告 |
Source Code:block\bfq-iosched.c |
Create Date:2022-07-27 19:31:55 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:__bfq_bfqq_recalc_budget - try to adapt the budget to the @bfqq behavior.*@bfqd: device data.*@bfqq: queue to update.*@reason: reason for expiration.* Handle the feedback on @bfqq budget at queue expiration.* See the body for detailed comments.
函数原型:static void __bfq_bfqq_recalc_budget(struct bfq_data *bfqd, struct bfq_queue *bfqq, enum bfqq_expiration reason)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct bfq_data * | bfqd | |
struct bfq_queue * | bfqq | |
enum bfqq_expiration | reason |
3538 | min_budget等于Return min budget, which is a fraction of the current or default* max budget (trying with 1/32) |
3540 | 如果actor by which the weight of this queue is multiplied 恒等于1则budget等于maximum budget allowed from the feedback mechanism |
3547 | 否则budget等于2乘min_budget |
3550 | bfq_log_bfqq(bfqd, bfqq, "recalc_budg: last budg %d, budg left %d", budget, used also to calculate F_i: F_i = S_i + @budget / @weight , bfq_bfqq_budget_left(bfqq)) |
3552 | bfq_log_bfqq(bfqd, bfqq, "recalc_budg: last max_budg %d, min budg %d", budget, Return min budget, which is a fraction of the current or default* max budget (trying with 1/32)) |
3554 | bfq_log_bfqq(bfqd, bfqq, "recalc_budg: sync %d, seeky %d", bfq_bfqq_sync(bfqq), BFQQ_SEEKY( bfq_queue in service )) |
3588 | 如果umber of requests on the dispatch list or inside driver 大于0则budget等于两数取小(budget * 2, maximum budget allotted to a bfq_queue before rescheduling ) |
3590 | 否则 |
3591 | 如果budget大于5乘min_budget则budget减等于4乘min_budget |
3593 | 否则budget等于min_budget |
3596 | 退出 |
3605 | 退出 |
3606 | 当:reason恒等于udget consumed |
3617 | 退出 |
3618 | 当:reason恒等于he queue has no more requests |
3652 | 退出 |
3653 | 默认 |
3654 | 返回 |
3656 | 否则如果非bfq_bfqq_sync(bfqq)则 |
3687 | bfq_log_bfqq(bfqd, bfqq, "head sect: %u, new budget %d", next_rq ? blk_rq_sectors(next_rq) : 0, budget, used also to calculate F_i: F_i = S_i + @budget / @weight ) |
名称 | 描述 |
---|---|
bfq_bfqq_expire | 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 |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |