setcpu吧 关注:142贴子:92
  • 3回复贴,共1

纠正几个网络教程对Android调度模式的错误理解

只看楼主收藏回复


本人很懒,懒得写教程。但看着网上错误的东西又实在不顺眼,故发此贴略加纠正。
主要是针对ondemand和conservative的高级调度参数。
ondemand:
据观测ondemand所使用的调度算法是突然把主频调至最高,然后逐渐下调。
sampling rate就是采样率,ondemand调度器获取CPU占用信息的频率。
一种错误理解认为这是SetCPU采样的频率,实际上根本不可能。Dalvik机内的程序完成调度安卓还有没有内核了?这违背了系统架构的基本规范所以不可能。
第二种错误理解说这一项的单位是毫秒。请注意这是sampling rate而不是sampling interval,采样频率和采样间隔刚好是相反的,所以这一项的意义是说每周期采样多少次而不是每多少毫秒采样一次……单位是Hz
第三种错误理解是采样率越高,调度越随机应变,所以越高越好。实际上采样和调度也是要消耗CPU资源的,采样过高反而会浪费电。
其他几项没啥大问题,给个翻译:
up threshold 上阈值 单位:%
down differential下降速率 单位:1
sampling down factor 向下采样因数(存疑) 单位:1
ignore nice load 忽略稳定负载 布尔值
不是“好的”负载,是稳定负载!
powersave bias 节能倾斜值 单位:%
io is busy IO忙时是否调高主频,调高能更有效响应硬件中断,调低可以省电,根据使用情况不同可能会觉得卡一些 也是布尔值
conservative:
高于上阈值就上调,高于下阈值就下调。
sampling rate 同上
up threshold 同上
sampling down factor 同上
ignore nice load 同上
freq step 频率步进 单位不明,但是有些帖子认为其单位是Hz或MHz的看法是没有根据的。亲测这两种单位都有明显的数量级上的错误。
down threshold 下阈值 单位:%


1楼2013-07-10 22:14回复
    感谢楼主,可以转载吗???


    IP属地:广东2楼2013-09-19 19:29
    收起回复