Linux Sugov | CPU 频率选择流程

203 阅读1分钟

为了便于理解,画了一个大体的框图

涉及代码基于MTK kernel 6.1

image.png

#1:sugov_update_shared() 会在 governor 需要更新一个共享频率域(policy)内所有CPU的频率时回调,比如CPU util发生变化就会回调这个Callback。
#2:聚合策略,选择最大util 的cpu.
#3:根据最大聚合策略得出的util map到一个目标freq 上。
#4:将 governor 给出的目标频率目标freq 映射为驱动实际支持的频率。