跟着笨叔叔一起省电

笨叔叔有一年去南方某个公司support,客户大老板问你们家芯片是怎么实现大小核调度的?我答曰:樱桃家的芯片不支持。然后直接被客户吊打和鄙视,呜呜~~~



笨叔叔穷,手机很快就没电了~~

跟着笨叔叔来倒腾EAS一块来省电费吧~~~



在《HMP调度器》那章结尾对HMP调度器的设计与实现进行一下批评,HMP调度器的设计是在2015年,之后HMP调度器就没有再更新了。原来Linaro和高通等ARM厂商也不满足HMP调度器的设计,这两年憋出了个大招:WALT & EAS绿色节能调度器。

在2012年谷歌工程师PaulTurner针对CFS调度器在计算负载的不合理之处提出了“Pre-entity Load Tracking”的进程负载计算方法,简称PELT,该方法在第3.2章已经详细介绍过。但是在手持移动设备特别是手机等应用场景中发现PELT有很多不如意的地方。

PELT就像一台老式发动机没法给你像法拉利那样的突然提速强烈地推背的快感。在手机使用中经常会产生一些突发的大活(负载重的大任务,heavy task),比如滑屏或者浏览网页。若能快速地识别这些大活并且能快速地迁移到计算能力强的CPU核上(大核或者最大频率比较高的核)则可以有效地提高手机的流畅性。重新识别原本是小活(lighttask)突然变成大活了,比如渲染线程突然要在屏幕上渲染更多内容。PELT在辨别进程负载的变化上显得有点迟钝,对于一个突然100%持续运行的进程它大概需要花74毫秒才能达到最大负载的80%左右,需要大约139毫秒才能达到最大负载的95%。


敬请关注《奔跑吧Linux内核》,即将和大家见面。

微信号:runninglinuxkernel

微博/微信公众号:奔跑吧Linux内核



详情点击


你可能感兴趣的:(奔跑吧Linux内核)