函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:collect_percpu_times

函数原型:static void collect_percpu_times(struct psi_group *group, enum psi_aggregators aggregator, unsigned int *pchanged_states)

返回类型:void

参数:

类型参数名称
struct psi_group *group
enum psi_aggregatorsaggregator
unsigned int *pchanged_states
306  u64 deltas[NR_PSI_STATES - 1] = {0, }
307  nonidle_total等于0
308  changed_states等于0
320  遍历可用CPU(cpu)
325  get_recent_times(group, cpu, aggregator, times, & cpu_changed_states)
327  changed_states或等于cpu_changed_states
329  nonidle等于nsecs_to_jiffies(times[PSI_NONIDLE])
330  nonidle_total加等于nonidle
332 s小于PSI_NONIDLE循环deltas[s]加等于times[s]乘nonidle
349 s小于NR_PSI_STATES减1循环total[aggregator][s]加等于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
353  如果pchanged_statespchanged_states等于changed_states
调用者
名称描述
psi_avgs_work
psi_poll_work
psi_show