函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\bfq-iosched.c Create Date:2022-07-27 19:30:23
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:bfq_bfqq_budget_left

函数原型:static int bfq_bfqq_budget_left(struct bfq_queue *bfqq)

返回类型:int

参数:

类型参数名称
struct bfq_queue *bfqq
1311  entity等于ity representing this queue in the scheduler
1313  返回: budget, used also to calculate F_i: F_i = S_i + @budget / @weight amount of service received during the last service slot
调用者
名称描述
bfq_bfqq_update_budg_for_activationThe next function, invoked after the input queue bfqq switches from* idle to busy, updates the budget of bfqq. The function also tells* whether the in-service queue should be expired, by returning* true
__bfq_bfqq_recalc_budget__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.
bfq_bfqq_expireq_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
bfq_may_expire_for_budg_timeoutIf we expire a queue that is actively waiting (i.e., with the* device idled) for the arrival of a new request, then we may incur* the timestamp misalignment problem described in the body of the* function __bfq_activate_entity
bfq_choose_bfqq_for_injectionThis function chooses the queue from which to pick the next extra* I/O request to inject, if it finds a compatible queue
bfq_select_queueSelect 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.