微信营销软件网站建设,知乎,闲鱼网站建设和网站运营,网站常见故障,重庆公司网站seocpu 功耗控制
参考框架#xff1a; cpufreq 框架。
cpufreq 框架提供 cpu 功耗管理接口#xff0c;以及功耗管理方案。 用户可以通过功耗管理接口#xff08;以文件形式提供#xff09;来选择管理方案#xff0c;并设置相关参数。 管理方案的实现则由具体的驱动来完成。…cpu 功耗控制
参考框架 cpufreq 框架。
cpufreq 框架提供 cpu 功耗管理接口以及功耗管理方案。 用户可以通过功耗管理接口以文件形式提供来选择管理方案并设置相关参数。 管理方案的实现则由具体的驱动来完成。比如通过时钟管理电源管理等框架来实现
cpu 功耗控制框架结构 cpu 功耗控制设计
参考系统Linux
为驱动提供注册接口 int cpufreq_register_driver(struct cpufre_driver *driver_data) {
// 检查是否开启 cpu 功耗控制如果不开启则退出注册行为// 检查是否已初始化 cpu 结构即检查功耗控制对象是否存在// 检查驱动结构的参数是否正确// 检查驱动是否已注册处理器功耗采用统一的驱动// 检查驱动是否提供 setpolicy 接口// 遍历 cpu 总线为 cpu 结构获取 policy 结构}
组织层和策略层将以驱动的形式注册并提供用户接口文件。
为 governor 注册接口 int cpufreq_register_governor(struct cpufreq_governor *) {
// 检查是否开启功耗控制// 查询 governor 是否已注册已注册则退出 }
Policy 结构 policy 暂无注册接口Linux 中在编译过程中会开辟空间存放已有的 policy但是 policy 不一定会被使用因此在驱动注册过程中会进行选择处理。 在驱动注册过程中创建 policy 结构并与驱动关联。 调用 policy 初始接口默认对应的 governor 以及频率等属性。
用户操作 提供文件操作为 show 和 store通过这两种接口访问 governor 和 policy从而控制功耗。