函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\sched\pelt.c Create Date:2022-07-27 10:43:50
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:We can represent the historical contribution to runnable average as the* coefficients of a geometric series. To do this we sub-divide our runnable* history into segments of approximately 1ms (1024us); label the segment that

函数原型:static __always_inline int ___update_load_sum(u64 now, struct sched_avg *sa, unsigned long load, unsigned long runnable, int running)

返回类型:int

参数:

类型参数名称
u64now
struct sched_avg *sa
unsigned longload
unsigned longrunnable
intrunning
181  delta等于nowlast_update_time
186  如果delta小于0则
187  last_update_time等于now
188  返回:0
195  delta右移等于10位
196  如果非delta则返回:0
199  last_update_time加等于delta左移10位
210  如果非loadrunnable等于running等于0
220  如果非Accumulate the three separate parts of the sum; d1 the remainder* of the last (incomplete) period, d2 the span of full periods and d3* the remainder of the (incomplete) current period.* d1 d2 d3* ^ ^ ^* | | |* |<->|<----------------->|<--->|* 则返回:0
223  返回:1
调用者
名称描述
__update_load_avg_blocked_sesched_entity:* task:* se_runnable() == se_weight()* group: [ see update_cfs_group() ]* se_weight() = tg->weight * grq->load_avg / tg->load_avg* se_runnable() = se_weight(se) * grq->runnable_load_avg / grq->load_avg* load_sum := runnable_sum* load_avg =
__update_load_avg_se
__update_load_avg_cfs_rq
update_rt_rq_load_avg_rq:* util_sum = \Sum se->avg.util_sum but se->avg.util_sum is not tracked* util_sum = cpu_scale * load_sum* runnable_load_sum = load_sum* load_avg and runnable_load_avg are not supported and meaningless.
update_dl_rq_load_avgdl_rq:* util_sum = \Sum se->avg.util_sum but se->avg.util_sum is not tracked* util_sum = cpu_scale * load_sum* runnable_load_sum = load_sum