一.choose_freq函数概述
在interative策略中,choose_freq函数用来选择一个合适的频率,使选频后系统的workload小于或等于target load. 其核心思想是:选取一个最小的频率,使在这个频率中的target load达到理想状态。
1. 影响选频的核心因素有两个:
1.两次统计时间内系统频率的平均频率loadadjfreq,
2.系统设定好的target load,在interative初始化的时候设定,tunables->target_loads = default_target_loads;
2. 先大概描述下两个核心因素的情况:
1)根据cpufreq_interactive_timer中对cpu当前负载的计算我们知道:
Cur_load = loadadjfreq / cur_freq
而在choose_freq函数中,计算target freq时:
target_freq = loadadjfreq / t1
其中t1为系统设定好的target load,默认为90。
因此,综合上述两个式子,可以得到: