函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\page-writeback.c Create Date:2022-07-27 15:33:22
Last Modify:2022-05-23 13:25:58 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Dirty position control

函数原型:static void wb_position_ratio(struct dirty_throttle_control *dtc)

返回类型:void

参数:

类型参数名称
struct dirty_throttle_control *dtc
906  wb等于wb
907  write_bw等于urther smoothed write bw, > 0
908  freerun等于dirty_freerun_ceiling(dirty threshold , dirty background threshold )
909  limit等于hard_dirty_limit(dtc_dom(dtc), dirty threshold )
910  wb_thresh等于wb_thresh
918  pos_ratio等于0
920  如果此条件成立可能性小(为编译器优化)(le_dirty + write + nfs >= limit)则返回
928  setpoint等于freerunlimit的和除2
929  pos_ratio等于(dirty) := 1
956  如果此条件成立可能性小(为编译器优化)(capabilities & BDI_CAP_STRICTLIMIT)则
959  如果per-wb counterparts 小于8则
962  返回
965  如果per-wb counterparts 大于等于wb_thresh则返回
968  wb_setpoint等于dirty_freerun_ceiling(wb_thresh, wb_bg_thresh)
971  如果wb_setpoint恒等于0或wb_setpoint恒等于wb_thresh则返回
974  wb_pos_ratio等于(dirty) := 1
998  pos_ratio等于两数取小(pos_ratio, wb_pos_ratio)
999  返回
1033  如果此条件成立可能性小(为编译器优化)(wb_thresh > dirty threshold )则wb_thresh等于dirty threshold
1042  wb_thresh等于两数取大(wb_thresh, (limit - le_dirty + write + nfs ) / 8)
1047  x等于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
1048  wb_setpoint等于setpointx右移16位
1057  span等于dirty threshold wb_thresh加8乘write_bw的和乘x右移16位
1058  x_intercept等于wb_setpointspan
1060  如果per-wb counterparts 小于x_interceptspan除4则
1061  pos_ratio等于div64_u64 - unsigned 64bit divide with 64bit divisor*@dividend: 64bit dividend*@divisor: 64bit divisor* This implementation is a modified version of the algorithm proposed* by the book 'Hacker's Delight'. The original source and full proof
1063  否则pos_ratio除等于4
1071  x_intercept等于wb_thresh除2
1072  如果per-wb counterparts 小于x_intercept
1073  如果per-wb counterparts 大于x_intercept除8则pos_ratio等于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
1076  否则pos_ratio乘等于8
1080  pos_ratio等于pos_ratio
调用者
名称描述
balance_dirty_pagesalance_dirty_pages() must be called by processes which are generating dirty* data