Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:___update_load_avg

Proto:static __always_inline void ___update_load_avg(struct sched_avg *sa, unsigned long load, unsigned long runnable)

Type:void

Parameter:

TypeParameterName
struct sched_avg *sa
unsigned longload
unsigned longrunnable
229  divider = LOAD_AVG_MAX - 1024 + period_contrib
234  load_avg = 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
235  runnable_load_avg = 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
236  WRITE_ONCE(util_avg, util_sum / divider)
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