函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:bfq_update_rate_reset

函数原型:static void bfq_update_rate_reset(struct bfq_data *bfqd, struct request *rq)

返回类型:void

参数:

类型参数名称
struct bfq_data *bfqd
struct request *rq
3049  如果 number of samples in current observation interval 小于Min number of samples required to perform peak-rate update time elapsed from first dispatch in current observ. interval (us) 小于Min observation time interval required to perform a peak-rate update (ns) 则转到:reset_computation
3059  time elapsed from first dispatch in current observ. interval (us) 等于max_t - return maximum of two values, using the specified type*@type: data type to use*@x: first value*@y: second value(u64, time elapsed from first dispatch in current observ. interval (us) , time of last request completion (ns) - time of first rq dispatch in current observation interval (ns) )
3067  rate等于div64_ul( total num of sectors transferred in current observation interval << Shift used for peak-rate fixed precision calculations, div_u64 - unsigned 64bit divide with 32bit divisor*@dividend: unsigned 64bit dividend*@divisor: unsigned 32bit divisor* This is the most common 64bit divide and should be used if possible,* as many 32bit archs can optimize this variant better than a full )
3076  如果 num of samples of seq dispatches in current observation interval 小于3乘 number of samples in current observation interval 右移2位且rate小于等于* Current estimate of the device peak rate, measured in * [(sectors/usec) / 2^BFQ_RATE_SHIFT]. The left-shift by * BFQ_RATE_SHIFT is performed to increase precision in * fixed-point calculations.rate大于20左移Shift used for peak-rate fixed precision calculations位则转到:reset_computation
3104  weight等于9乘 num of samples of seq dispatches in current observation interval number of samples in current observation interval
3110  weight等于min_t - return minimum of two values, using the specified type*@type: data type to use*@x: first value*@y: second value(u32, 8, div_u64 - unsigned 64bit divide with 32bit divisor*@dividend: unsigned 64bit dividend*@divisor: unsigned 32bit divisor* This is the most common 64bit divide and should be used if possible,* as many 32bit archs can optimize this variant better than a full )
3118  divisor等于10减weight
3125  * Current estimate of the device peak rate, measured in * [(sectors/usec) / 2^BFQ_RATE_SHIFT]. The left-shift by * BFQ_RATE_SHIFT is performed to increase precision in * fixed-point calculations.乘等于divisor减1
3126  * Current estimate of the device peak rate, measured in * [(sectors/usec) / 2^BFQ_RATE_SHIFT]. The left-shift by * BFQ_RATE_SHIFT is performed to increase precision in * fixed-point calculations.除等于divisor
3127  rate除等于divisor
3129  * Current estimate of the device peak rate, measured in * [(sectors/usec) / 2^BFQ_RATE_SHIFT]. The left-shift by * BFQ_RATE_SHIFT is performed to increase precision in * fixed-point calculations.加等于rate
3138  * Current estimate of the device peak rate, measured in * [(sectors/usec) / 2^BFQ_RATE_SHIFT]. The left-shift by * BFQ_RATE_SHIFT is performed to increase precision in * fixed-point calculations.等于max_t - return maximum of two values, using the specified type*@type: data type to use*@x: first value*@y: second value(u32, 1, * Current estimate of the device peak rate, measured in * [(sectors/usec) / 2^BFQ_RATE_SHIFT]. The left-shift by * BFQ_RATE_SHIFT is performed to increase precision in * fixed-point calculations.)
3140  Update parameters related to throughput and responsiveness, as a* function of the estimated peak rate. See comments on* bfq_calc_max_budget(), and on the ref_wr_duration array.
3142  reset_computation :
3143  bfq_reset_rate_computation(bfqd, rq)
调用者
名称描述
bfq_update_peak_rateUpdate the read/write peak rate (the main quantity used for* auto-tuning, see update_thr_responsiveness_params())
bfq_completed_request