高通msm8994手动提升性能脚本
- stop thermald
- stop mpdecision
- stop thermal-engine
- # online A57
- echo 1 > /sys/devices/system/cpu/cpu2/online
- echo 1 > /sys/devices/system/cpu/cpu3/online
- echo 1 > /sys/devices/system/cpu/cpu4/online
- echo 1 > /sys/devices/system/cpu/cpu5/online
- echo 1 > /sys/devices/system/cpu/cpu6/online
- echo 1 > /sys/devices/system/cpu/cpu7/online
- # set governor
- echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
- echo performance > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
- # set max freq
- echo 1555200 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
- echo 1958400 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq
- # set gpu
- echo performance > /sys/class/kgsl/kgsl-3d0/devfreq/governor
- echo 0 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel
- echo performance > /sys/class/devfreq/qcom,cpubw.32/governor
- echo performance > /sys/class/devfreq/qcom,gpubw.71/governor
- 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了。
不过如此修改代码后,需要手动降低性能:
- #offline A57
- echo 0 > /sys/devices/system/cpu/cpu4/online
- echo 0 > /sys/devices/system/cpu/cpu5/online
- echo 0 > /sys/devices/system/cpu/cpu6/online
- echo 0 > /sys/devices/system/cpu/cpu7/online
- # down max freq
- echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
- echo simple_ondemand > /sys/class/kgsl/kgsl-3d0/devfreq/governor
- echo 5 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel
- stop thermald
- stop mpdecision
- stop thermal-engine
- # online A57
- echo 1 > /sys/devices/system/cpu/cpu2/online
- echo 1 > /sys/devices/system/cpu/cpu3/online
- echo 1 > /sys/devices/system/cpu/cpu4/online
- echo 1 > /sys/devices/system/cpu/cpu5/online
- echo 1 > /sys/devices/system/cpu/cpu6/online
- echo 1 > /sys/devices/system/cpu/cpu7/online
- # set governor
- echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
- echo performance > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
- # set max freq
- echo 1555200 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
- echo 1958400 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq
- # set gpu
- echo performance > /sys/class/kgsl/kgsl-3d0/devfreq/governor
- echo 0 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel
- echo performance > /sys/class/devfreq/qcom,cpubw.32/governor
- echo performance > /sys/class/devfreq/qcom,gpubw.71/governor
- 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了。
不过如此修改代码后,需要手动降低性能:
- #offline A57
- echo 0 > /sys/devices/system/cpu/cpu4/online
- echo 0 > /sys/devices/system/cpu/cpu5/online
- echo 0 > /sys/devices/system/cpu/cpu6/online
- echo 0 > /sys/devices/system/cpu/cpu7/online
- # down max freq
- echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
- echo simple_ondemand > /sys/class/kgsl/kgsl-3d0/devfreq/governor
- echo 5 > /sys/class/kgsl/kgsl-3d0/min_pwrlevel
高通msm8994手动提升性能脚本的更多相关文章
- 高通msm8994启动流程简介
处理器信息 8994包含如下子系统: 子系统 处理器 含义 APSS 4*Cortex-A53 应用子系统 APSS 4*Cortex-A57 应用子系统 LPASS QDSP6 v5.5A(Hexa ...
- 高通msm8994启动流程简单介绍
处理器信息 8994包括例如以下子系统: 子系统 处理器 含义 APSS 4*Cortex-A53 应用子系统 APSS 4*Cortex-A57 应用子系统 LPASS QDSP6 v5.5A(He ...
- 高通msm8994性能及温度监测脚本
[plain] view plain copystartTime=$(date +%Y-%m-%d-%H-%M-%S) pathName="/data/cpu_logs" fi ...
- 百万级高并发mongodb集群性能数十倍提升优化实践
背景 线上某集群峰值TPS超过100万/秒左右(主要为写流量,读流量很低),峰值tps几乎已经到达集群上限,同时平均时延也超过100ms,随着读写流量的进一步增加,时延抖动严重影响业务可用性.该集群采 ...
- MySQL管理之道:性能调优、高可用与监控内置脚本
MySQL管理之道:性能调优.高可用与监控内置脚本 随书附送脚本 keepalive配置文件和脚本开源工具pssh批量管理服务器(python) 下载地址 http://files.cnblogs.c ...
- 【转】高通平台android 环境配置编译及开发经验总结
原文网址:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通 ...
- 从零开始写一个武侠冒险游戏-7-用GPU提升性能(2)
从零开始写一个武侠冒险游戏-7-用GPU提升性能(2) ----把地图处理放在GPU上 作者:FreeBlues 修订记录 2016.06.21 初稿完成. 2016.08.06 增加对 XCode ...
- 高通与MTK瓜分天下?手机处理器品牌分析
http://mobile.pconline.com.cn/337/3379352.html [PConline 杂谈]如果你向朋友请教买一台怎样的台式机或者笔记本的话,很多时候那朋友会根据你对电脑的 ...
- Android : 高通平台的HVX简介及调试
一.HVX简介 HVX(“Hexagon矢量扩展”,Hexagon-六边形.Vector-矢量.Extensions-扩展)是Hexagon 680 DSP的典型特性,能够在执行图像处理应用中的计算负 ...
随机推荐
- [JSOI2007]字符加密
题目描述 喜欢钻研问题的JS 同学,最近又迷上了对加密方法的思考.一天,他突然想出了一种他认为是终极的加密办法:把需要加密的信息排成一圈,显然,它们有很多种不同的读法. 例如‘JSOI07’,可以读作 ...
- 洛谷3794 签到题IV
题目描述 给定一个长度为n的序列$a_1,a_2...a_n$,其中每个数都是正整数. 你需要找出有多少对(i,j),$1 \leq i \leq j \leq n$且$gcd(a_i,a_{i+1} ...
- Trie模版
struct Trie{ Trie* nxt[]; int v; Trie(){ ;i<;i++){ nxt[i]=NULL; } v=-; } void insert(char s[],int ...
- 2015 多校联赛 ——HDU5375(dp)
Sample Input 2 00?0 1 2 4 8 ???? 1 2 4 8 Sample Output Case #1: 12 Case #2: 15 ?部分可以是0 or 1,将二进制 ...
- hdu 5607 BestCoder Round #68 (矩阵快速幂)
graph Accepts: 9 Submissions: 61 Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536/65536 ...
- Mybatis整合Spring实现事务管理的源码分析
一:前言 没有完整看完,但是看到了一些关键的地方,这里做个记录,过程会有点乱,以后逐渐补充最终归档为完整流程:相信看过框架源码的都知道过程中无法完全确定是怎样的流程,毕竟不可能全部都去测试一遍 ,但是 ...
- 使用json-Server与postman快速模拟服务环境搭建
在前后端分离的这种工作模式下,分工明确,各司其职.前端负责展示数据,后端提供数据.然而,在这种过程中对于接口的规范 需要提前制定好.例如根据规范提前模拟数据,这个时候就比较麻烦的.JsonServer ...
- Python3玩转儿 机器学习(4)
jupyternotebook 的使用方法¶ 最基本的使用¶ In [1]: 1+2 Out[1]: 3 菜单树¶ File¶ |------> New Notebook --- ...
- Cisco 的基本配置实例之五----交换机的路由功能与DHCP 功能
5.配置交换机的路由功能 说明:只有在三层交换机上才有路由功能,其他的二层接入交换机要想在不同的vlan之间传送数据需要通过trunk口到核心交换机上进行完路由交换后才可以. TEST(config) ...
- 借助Bodymovin播放svg动画
svg动画,截取工具有点不忍直视了~~~ 为了实现上面的svg动画,可以使用bodymovin插件,简单配置之后,就可以直接可以实现在 AE(可视化操作,不用码代码)上面导出 svg的json数据,在 ...