Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\bfq-wf2q.c Create Date:2022-07-28 17:59:47
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:q_bfqq_charge_time - charge an amount of service equivalent to the length* of the time interval during which bfqq has been in* service

Proto:void bfq_bfqq_charge_time(struct bfq_data *bfqd, struct bfq_queue *bfqq, unsigned long time_ms)

Type:void

Parameter:

TypeParameterName
struct bfq_data *bfqd
struct bfq_queue *bfqq
unsigned longtime_ms
888  entity = ity representing this queue in the scheduler
889  timeout_ms = Convert jiffies to milliseconds and back.* Avoid unnecessary multiplications/divisions in the* two most common HZ cases:
890  bounded_time_ms = min - return minimum of two values of the same or compatible types*@x: first value*@y: second value(time_ms, timeout_ms)
891  serv_to_charge_for_time = maximum budget allotted to a bfq_queue before rescheduling * bounded_time_ms / timeout_ms
893  tot_serv_to_charge = max - return maximum of two values of the same or compatible types*@x: first value*@y: second value(serv_to_charge_for_time, amount of service received during the last service slot )
896  If tot_serv_to_charge > budget, used also to calculate F_i: F_i = S_i + @budget / @weight Then budget, used also to calculate F_i: F_i = S_i + @budget / @weight = tot_serv_to_charge
899  q_bfqq_served - update the scheduler status after selection for* service.*@bfqq: the queue being served.*@served: bytes to transfer.* NOTE: this can be optimized, as the timestamps of upper level entities