cpu boost over thermal (mtk平台)功能简介

功能定义

系统框架层同事要在某些场景(主要是冷启动)将CPU boost到最大频率,保持一段时间,但是当前mtk平台将thermal的优先级高于boost的优先级,需要将驱动层boost节点的优先级提升。

具体实现

以冷启动boost为例,软件调用流程如下


image.png

Kernel 层添加了/proc/ppm/policy/forcelimit_cpu_freq节点。
因为默认proc节点的优先级比较低,低于thermal的优先级,所以添加了高优先级的节点。
Mtk ppm policy驱动的主要结构体是ppm_policy_data

struct ppm_policy_data {
         /* settings */
         const char *name;          //名字       
         enum ppm_policy policy;    //类型,优先级相关
         unsigned int priority;  /* smaller value has higher priority */
         /* status */
         bool is_enabled;
         bool is_activated;
         bool is_limit_updated;
         /* lock */
         struct mutex lock;
         /* list link */
         struct list_head link;  //链表,根据优先级高低排列  
         /* request to PPM */   
         struct ppm_policy_req req; //里面有每个簇cpu最小和最大频率要设定的值和cpu簇最小和最大core num要设定的值
 
         /* callbacks */
         void (*update_limit_cb)(void);
         void (*status_change_cb)(bool enable);
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 另外可以参考几篇文章:Linux平台Cpu使用率的计算一个用了统计CPU 内存 硬盘 使用率的shell脚本lin...
    夕颜00阅读 1,243评论 0 0
  • [DESCRIPTION] 开关机、重启时间优化: 开机性能优化:是用功能和其它因素多方面平衡的结果,片面追求单方...
    柏林电视台阅读 1,693评论 0 0
  • 完全公平调度CFS CFS(Completely Fair Scheduler)试图按照对 CPU 时间的 “最大...
    batbattle阅读 3,539评论 0 5
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,599评论 16 22
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,625评论 0 11