Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\sched\pelt.c Create Date:2022-07-28 09:43:22
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name: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

Proto:static __always_inline int ___update_load_sum(u64 now, struct sched_avg *sa, unsigned long load, unsigned long runnable, int running)

Type:int

Parameter:

TypeParameterName
u64now
struct sched_avg *sa
unsigned longload
unsigned longrunnable
intrunning
181  delta = now - last_update_time
186  If delta < 0 Then
187  last_update_time = now
188  Return 0
195  delta >>= 10
196  If Not delta Then Return 0
199  last_update_time += delta << 10
210  If Not load Then runnable = running = 0
220  If Not 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* ^ ^ ^* | | |* |<->|<----------------->|<--->|* Then Return 0
223  Return 1
Caller
NameDescribe
__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