点击打开链接

[plain] view plain copy
  1. stop thermald
  2. stop mpdecision
  3. stop thermal-engine
  4. # online A57
  5. echo 1 > /sys/devices/system/cpu/cpu2/online
  6. echo 1 > /sys/devices/system/cpu/cpu3/online
  7. echo 1 > /sys/devices/system/cpu/cpu4/online
  8. echo 1 > /sys/devices/system/cpu/cpu5/online
  9. echo 1 > /sys/devices/system/cpu/cpu6/online
  10. echo 1 > /sys/devices/system/cpu/cpu7/online
  11. # set governor
  12. echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
  13. echo performance > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
  14. # set max freq
  15. echo 1555200 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
  16. echo 1958400 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq
  17. # set gpu
  18. echo performance > /sys/class/kgsl/kgsl-3d0/devfreq/governor
  19. echo 0 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel
  20. echo performance > /sys/class/devfreq/qcom,cpubw.32/governor
  21. echo performance > /sys/class/devfreq/qcom,gpubw.71/governor
  22. echo performance > /sys/class/devfreq/qcom,kgsl-busmon.70/governor

cpu0会一直在线,因此不用手动online。

8994的cpu频率是按簇调整的,因此只需要设置cpu0和cpu4的performance。

拉起来的瞬间可能会触发bcl的调频和拔核动作,全部拉起来后可能温度过高导致thermal降频及拔核。

另外,vendor/qcom/proprietary/Android-perf/core-ctl/core_ctl.c的某些代码可能会引起拉核失败或者拉上来后又被这个模块给down了,需要做如下修改:

将753行cpu_callback()的CPU_UP_PREPARE分支里的如下判断改成if(0),这可以防止拉核失败:

将该文件try_hotplug()函数里的do_hotplug()取消掉,可以防止该模块又把拉上来的cpu给offline了。

不过如此修改代码后,需要手动降低性能:

[plain] view plain copy
  1. #offline A57
  2. echo 0 > /sys/devices/system/cpu/cpu4/online
  3. echo 0 > /sys/devices/system/cpu/cpu5/online
  4. echo 0 > /sys/devices/system/cpu/cpu6/online
  5. echo 0 > /sys/devices/system/cpu/cpu7/online
  6. # down max freq
  7. echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
  8. echo simple_ondemand > /sys/class/kgsl/kgsl-3d0/devfreq/governor
  9. echo 5 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel

[plain] view plain copy
  1. stop thermald
  2. stop mpdecision
  3. stop thermal-engine
  4. # online A57
  5. echo 1 > /sys/devices/system/cpu/cpu2/online
  6. echo 1 > /sys/devices/system/cpu/cpu3/online
  7. echo 1 > /sys/devices/system/cpu/cpu4/online
  8. echo 1 > /sys/devices/system/cpu/cpu5/online
  9. echo 1 > /sys/devices/system/cpu/cpu6/online
  10. echo 1 > /sys/devices/system/cpu/cpu7/online
  11. # set governor
  12. echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
  13. echo performance > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
  14. # set max freq
  15. echo 1555200 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
  16. echo 1958400 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq
  17. # set gpu
  18. echo performance > /sys/class/kgsl/kgsl-3d0/devfreq/governor
  19. echo 0 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel
  20. echo performance > /sys/class/devfreq/qcom,cpubw.32/governor
  21. echo performance > /sys/class/devfreq/qcom,gpubw.71/governor
  22. echo performance > /sys/class/devfreq/qcom,kgsl-busmon.70/governor

cpu0会一直在线,因此不用手动online。

8994的cpu频率是按簇调整的,因此只需要设置cpu0和cpu4的performance。

拉起来的瞬间可能会触发bcl的调频和拔核动作,全部拉起来后可能温度过高导致thermal降频及拔核。

另外,vendor/qcom/proprietary/Android-perf/core-ctl/core_ctl.c的某些代码可能会引起拉核失败或者拉上来后又被这个模块给down了,需要做如下修改:

将753行cpu_callback()的CPU_UP_PREPARE分支里的如下判断改成if(0),这可以防止拉核失败:

将该文件try_hotplug()函数里的do_hotplug()取消掉,可以防止该模块又把拉上来的cpu给offline了。

不过如此修改代码后,需要手动降低性能:

[plain] view plain copy
  1. #offline A57
  2. echo 0 > /sys/devices/system/cpu/cpu4/online
  3. echo 0 > /sys/devices/system/cpu/cpu5/online
  4. echo 0 > /sys/devices/system/cpu/cpu6/online
  5. echo 0 > /sys/devices/system/cpu/cpu7/online
  6. # down max freq
  7. echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
  8. echo simple_ondemand > /sys/class/kgsl/kgsl-3d0/devfreq/governor
  9. echo 5 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel

高通msm8994手动提升性能脚本的更多相关文章

  1. 高通msm8994启动流程简介

    处理器信息 8994包含如下子系统: 子系统 处理器 含义 APSS 4*Cortex-A53 应用子系统 APSS 4*Cortex-A57 应用子系统 LPASS QDSP6 v5.5A(Hexa ...

  2. 高通msm8994启动流程简单介绍

    处理器信息 8994包括例如以下子系统: 子系统 处理器 含义 APSS 4*Cortex-A53 应用子系统 APSS 4*Cortex-A57 应用子系统 LPASS QDSP6 v5.5A(He ...

  3. 高通msm8994性能及温度监测脚本

    [plain] view plain copystartTime=$(date +%Y-%m-%d-%H-%M-%S)  pathName="/data/cpu_logs"  fi ...

  4. 百万级高并发mongodb集群性能数十倍提升优化实践

    背景 线上某集群峰值TPS超过100万/秒左右(主要为写流量,读流量很低),峰值tps几乎已经到达集群上限,同时平均时延也超过100ms,随着读写流量的进一步增加,时延抖动严重影响业务可用性.该集群采 ...

  5. MySQL管理之道:性能调优、高可用与监控内置脚本

    MySQL管理之道:性能调优.高可用与监控内置脚本 随书附送脚本 keepalive配置文件和脚本开源工具pssh批量管理服务器(python) 下载地址 http://files.cnblogs.c ...

  6. 【转】高通平台android 环境配置编译及开发经验总结

    原文网址:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通 ...

  7. 从零开始写一个武侠冒险游戏-7-用GPU提升性能(2)

    从零开始写一个武侠冒险游戏-7-用GPU提升性能(2) ----把地图处理放在GPU上 作者:FreeBlues 修订记录 2016.06.21 初稿完成. 2016.08.06 增加对 XCode ...

  8. 高通与MTK瓜分天下?手机处理器品牌分析

    http://mobile.pconline.com.cn/337/3379352.html [PConline 杂谈]如果你向朋友请教买一台怎样的台式机或者笔记本的话,很多时候那朋友会根据你对电脑的 ...

  9. Android : 高通平台的HVX简介及调试

    一.HVX简介 HVX(“Hexagon矢量扩展”,Hexagon-六边形.Vector-矢量.Extensions-扩展)是Hexagon 680 DSP的典型特性,能够在执行图像处理应用中的计算负 ...

随机推荐

  1. [HNOI2003]激光炸弹

    Description 一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标.现在地图上有n个目标,用整数,表示目标在地图上的位置,每个目标都有一个价值.激光炸弹的投放是通过卫星定位的,但其 ...

  2. hdu 5739 割点

    Fantasia Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...

  3. 【BZOJ1483】【HNOI2009】梦幻布丁

    题意:n个连续的点,有若干种颜色,每个颜色会因为某些操作变为另一种颜色,动态查询颜色段数. 解题思路:对每个颜色开一棵平衡树启发式合并应该是最裸的想法,但是我们有更优的! 考虑对每个颜色利用链表储存它 ...

  4. NOIP2014-9-6模拟赛

    工资 (money/money.in/money.out) 时限1000ms 内存256MB 聪哥在暑假参加了打零工的活动,这个活动分为n个工作日,每个工作日的工资为Vi.有m个结算工钱的时间,聪哥可 ...

  5. 51nod 平均数(马拉松14)

    平均数 alpq654321 (命题人)   基准时间限制:4 秒 空间限制:131072 KB 分值: 80 LYK有一个长度为n的序列a. 他最近在研究平均数. 他甚至想知道所有区间的平均数,但是 ...

  6. QSDK下驱动AR8035

    0 概述 QSDK平台中,我所接触到的版本,能支持MIPS架构的,是基于Openwrt AA版本:虽然CC版本上就已经能很好地支持AR8035了,可是AA版本它本身是不支持的,于是不断有人要求提供补丁 ...

  7. 谈谈Python中的decorator装饰器,如何更优雅的重用代码

    众所周知,Python本身有很多优雅的语法,让你能用一行代码写出其他语言很多行代码才能做的事情,比如: 最常用的迭代(eg: for i in range(1,10)), 列表生成式(eg: [ x* ...

  8. H3C交换机如何配置管理VLAN

    1.输入"system-view"(简写"sys"),进入系统配置模式[H3C],2.下面就可以开始取消默认管理vlan了,输入"undo inter ...

  9. class-map与policy-map 配置与qos模版

    将subnet-a 与subnet-b 归入类class1 中.Router1(config)# ip access-list extended subnet-a Router1(config-std ...

  10. MySQL DATE_SUB()

    DATE_SUB(date,INTERVAL expr type) 函数从日期减去指定的时间间隔. date 参数是合法的日期表达式.expr 参数是您希望添加的时间间隔. type 参数可以是下列值 ...