当前位置:

RK3588 CPU性能优化

2024-06-25 21:19
72

RK3588 CPU性能优化

设置CPU负载采样时间

CPU负载的采样时间关系到CPU的变频和大小核调度的及时性,目前系统的默认配置是32ms,可以通过如下节点获取:

rk3588_s:/ # cat /proc/sys/kernel/sched_pelt_period32
  • 1
  • 2

目前的采用时间可以设置为32ms和8ms,在8ms的情况下cpu的负载变频和大小核调度会更及时,但是同时功耗也会对应的增加;
可以通过如下命令进行设置:

rk3588_s:/ # echo 8 >   /proc/sys/kernel/sched_pelt_period
  • 1

如果要在代码里面加修改可以按如下方式修改:

device/rockchip/rk3588$diff --git a/init.rk3588.rc b/init.rk3588.rc
index dcac552..e3f0005 100644--- a/init.rk3588.rc
+++ b/init.rk3588.rc
@@ -56,6 +56,9 @@ on boot     write /dev/cpuset/background/cpus 0-7     write /dev/cpuset/system-background/cpus 0-7     write /dev/cpuset/top-app/cpus 4-7
+
+    #cpu sampling time set to 8ms, default value is 32ms+    write /proc/sys/kernel/sched_pelt_period 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

设置大小核切换的阈值

大小核切换的阈值需要修改kernel代码,具体修改如下:

--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -117,7 +117,7 @@ int __weak arch_asym_cpu_priority(int cpu)   *
   * (default: ~20%)   */
-#define fits_capacity(cap, max)        ((cap) * 1280 < (max) * 1024)+#define fits_capacity(cap, max)        ((cap) * 2048 < (max) * 1024)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

注: 这个参数的值是1024/x,如1024/1280=0.8 余量20%,当负载阈值达到80%时就会把任务切到大核上面, 1024/2048=0.5 即当负载达到50%的时候小核上面的任务会切到大核上面

福州华芯创辉科技(hua-chips)是一家专注从事嵌入式方案设计与研发的高新企业,拥有一支多年从事嵌入式研发的团队。团队擅长全国产化替代方案设计,工业控制产品研发,AI产品研发等。产品所涉及的领域包括安防,电力,轨道交通,码头等。 已陆续推出了基于RK3588, RK3576, RK3568,RV1126 等芯片的多款产品,获得客户的一致认可。 我们也为客户提供专业的定制服务,如您有任何产品问题,设计问题都可以通过右侧的联系方式联系我们,我们会有专人为您进行解答。
产品展示
热门文章