当前位置: 首页 > news >正文

cpu主频信息

yangkunvanpersie ( yangkunvanpersie@163.com ) 通过“有道云笔记”邀请您查看以下笔记

修改CPU频率.note

 

打开笔记

kernel-3.18/drivers/misc/mediatek/base/power/mt6580/mt_cpufreq.c

 

kernel-3.18/drivers/misc/mediatek/base/power/mt6580/mt_cpufreq.c:#define CPU_DVFS_FREQ4   (1001000)     /* KHz */

kernel-3.18/drivers/misc/mediatek/base/power/mt6580/mt_cpufreq.c:#define PLL_DIV1_1001_FREQ             (1001000)       /* for 1G - low */

 

kernel-3.18/drivers/misc/mediatek/base/power/mt6580/mt_cpufreq.c

(0)[54:cfinteractive][name:mt_cpufreq&][Power/cpufreq] @get_cur_phy_freq: cur_khz = 1001000, con1 = 0x8009a000, ckdiv1_val = 0x8

 

 

 

 

[FAQ17683]如何调整CPU corenum, freq, policy

[DESCRIPTION]

 

设置平台CPUfreq 与以及core

 

 

[SOLUTION]

 

cpufreq控制结点位于 /sys/devices/system/cpu/cpu0/cpufreq/

C:\Users\mtk71247>adb shell

root@NOBLEX:/ # cd sys/devices/system/cpu/cpu0/cpufreq

cd sys/devices/system/cpu/cpu0/cpufreq

root@NOBLEX:/sys/devices/system/cpu/cpu0/cpufreq # ls

ls

cpuinfo_cur_freq: 当前cpu正在运行的工作频率

cpuinfo_max_freq:该文件指定了处理器能够运行的最高工作频率 (单位: 千赫兹)

cpuinfo_min_freq :该文件指定了处理器能够运行的最低工作频率 (单位: 千赫兹)

cpuinfo_transition_latency:该文件定义了处理器在两个不同频率之间切换时所需要的时间  (单位: 纳秒)

scaling_available_frequencies:所有支持的主频率列表  (单位: 千赫兹)

scaling_available_governors:该文件显示当前内核中支持的所有cpufreq governor类型

scaling_cur_freq:被governor和cpufreq核决定的当前CPU工作频率。该频率是内核认为该CPU当前运行的主频率

scaling_driver:该文件显示该CPU正在使用何种cpufreq driver

scaling_governor:通过echo命令,能够改变当前处理器的governor类型

scaling_max_freq:显示当前policy的上下限  (单位: 千赫兹)需要注意的是,当改变cpu policy时,需要首先设置scaling_max_freq, 然后才是scaling_min_freq

scaling_setspeed:如果用户选择了“userspace” governor, 那么可以设置cpu工作主频率到某一个指定值。

 

                             只需要这个值在scaling_min_freq 和 scaling_max_freq之间即可。

root@NOBLEX:/sys/devices/system/cpu/cpu0/cpufreq #

 

1、查看当前CPU支持的频率档位

root@NOBLEX:/sys # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies              

1300000 1235000 1170000 1040000 819000 598000 442000 299000

root@NOBLEX:/sys #

2、查看当前支持的governor(手机型号可能略有不同)     

root@NOBLEX:/sys # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors                

ondemand userspace powersave interactive performance

performance表示不降频,

ondemand表示使用内核提供的功能,可以动态调节频率,

powersvae表示省电模式,通常是在最低频率下运行,

userspace表示用户模式,在此模式下允许其他用户程序调节CPU频率。

 

root@NOBLEX:/sys # 

3、查看当前选择的governor

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

interactive

root@NOBLEX:/sys #

 

4、查看系统支持多少核数

root@NOBLEX:/ # cat sys/devices/system/cpu/present

cat sys/devices/system/cpu/present

0-3

root@NOBLEX:/ # 

 

5、全开所有cpu ,在实际设置时,还需要(有root权限才可以设置)

 

adb shell "echo 0 > /proc/hps/enabled" (关闭cpu hotplug)

adb shell "echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor" (固定最高频)

echo 1 > /sys/devices/system/cpu/cpuX/online

X表示(0~3,不同平台CPU core 数是不一样的)

例:6735平台

root@NOBLEX:/ # echo 1 >sys/devices/system/cpu/cpu1/online

echo 1 >sys/devices/system/cpu/cpu1/online

root@NOBLEX:/ # echo 1 >sys/devices/system/cpu/cpu2/online

echo 1 >sys/devices/system/cpu/cpu2/online

root@NOBLEX:/ # echo 1 >sys/devices/system/cpu/cpu3/online

echo 1 >sys/devices/system/cpu/cpu3/online

 

6、设置频率(可以先cat 出来当前的频率有哪些)

C:\Users\mtk71247>adb shell "cat /proc/cpufreq/cpufreq_ptpod_freq_volt"

[0] = { .cpufreq_khz = 1300000, .cpufreq_volt = 113750, .cpufreq_volt_org = 1250

00, },

[1] = { .cpufreq_khz = 1235000, .cpufreq_volt = 110000, .cpufreq_volt_org = 1231

25, },

[2] = { .cpufreq_khz = 1170000, .cpufreq_volt = 106250, .cpufreq_volt_org = 1206

25, },

[3] = { .cpufreq_khz = 1040000, .cpufreq_volt = 98750,  .cpufreq_volt_org = 1150

00, },

[4] = { .cpufreq_khz = 819000,  .cpufreq_volt = 95000,  .cpufreq_volt_org = 1100

00, },

[5] = { .cpufreq_khz = 598000,  .cpufreq_volt = 95000,  .cpufreq_volt_org = 1050

00, },

[6] = { .cpufreq_khz = 442000,  .cpufreq_volt = 95000,  .cpufreq_volt_org = 1000

00, },

[7] = { .cpufreq_khz = 299000,  .cpufreq_volt = 95000,  .cpufreq_volt_org = 9500

0, },

 

C:\Users\mtk71247>adb shell "echo 0 >proc/cpufreq/cpufreq_oppidx"

 

设置后再cat 看一下当前的设置是否成功

C:\Users\mtk71247>adb shell "cat proc/cpufreq/cpufreq_oppidx"

[MT_CPU_DVFS_LITTLE/0]

cpufreq_oppidx = 0

        OP(1300000, 113750),

        OP(1235000, 110000),

        OP(1170000, 106250),

        OP(1040000, 98750),

        OP(819000, 95000),

        OP(598000, 95000),

        OP(442000, 95000),

        OP(299000, 95000),

 

C:\Users\mtk71247>

    

7、查看当前状态有多少个CPU

root@NOBLEX:/ # cat sys/devices/system/cpu/online

cat sys/devices/system/cpu/online

0-3

root@NOBLEX:/ #

 

 

16:48分开始测试 开机向导界面

本内容由用户通过有道云笔记发布,并不代表有道立场

 
kernel-3.18/drivers/misc/mediatek/base/power/mt6735/mt_cpufreq.c

-
 /* DVFS OPP table */
 #ifdef CONFIG_ARCH_MT6735M
-#define CPU_DVFS_FREQ0_1 (1248000)     /* KHz */
+#define CPU_DVFS_FREQ0_1 (1300000)     /* KHz */
 #define CPU_DVFS_FREQ0   (1144000)     /* KHz */
 #define CPU_DVFS_FREQ1_1 (1092000)     /* KHz */
 #define CPU_DVFS_FREQ1   (1027000)     /* KHz */
@@ -750,7 +749,7 @@ static struct mt_cpu_freq_info opp_tbl_e1_1[] = {
 
 /* CPU LEVEL 2, 1.25GHz segment */
 static struct mt_cpu_freq_info opp_tbl_e1_2[] = {
-       OP(CPU_DVFS_FREQ0_1,125000),
+       OP(CPU_DVFS_FREQ0_1,130000),
        OP(CPU_DVFS_FREQ1,  121875),
        OP(CPU_DVFS_FREQ5,  118750),
        OP(CPU_DVFS_FREQ6,  115000),

 

 

 

---

相关文章:

  • 详细解读Android中的搜索框(三)—— SearchView
  • 长城:场面很热闹情节很垃圾
  • API开发的版本控制技巧
  • Android 强烈推荐:程序员接私活那点事
  • ProgressDialog使用总结
  • Apache 配置文件解析及虚拟机配置示例
  • 实现TeX的算法:回首编程技术的过去三十年
  • NodeJS几个值得学习的开源框架
  • Zipkin-1.19.0学习系列6:applyInitializers(context);
  • 1078: 输入入门(3)
  • iptables 用法
  • SVN Cleanup failed to process the following paths错误的解决
  • LoadRunner监控Linux
  • HP Unix openssl、openssh 升级
  • php源码编译安装时的一些常见错误解决办法
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • Computed property XXX was assigned to but it has no setter
  • js操作时间(持续更新)
  • mac修复ab及siege安装
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • spring + angular 实现导出excel
  • SQLServer插入数据
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 浮现式设计
  • 给github项目添加CI badge
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 前端技术周刊 2019-02-11 Serverless
  • 区块链分支循环
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 微信公众号开发小记——5.python微信红包
  • #Lua:Lua调用C++生成的DLL库
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • (07)Hive——窗口函数详解
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (20050108)又读《平凡的世界》
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (十)T检验-第一部分
  • (转)visual stdio 书签功能介绍
  • ***详解账号泄露:全球约1亿用户已泄露
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .gitattributes 文件
  • .libPaths()设置包加载目录
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .NET程序员迈向卓越的必由之路
  • .NET大文件上传知识整理
  • /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • [AAuto]给百宝箱增加娱乐功能
  • [BUUCTF]-Reverse:reverse3解析
  • [emuch.net]MatrixComputations(7-12)