RK3588 CPU性能优化

RK3588 CPU性能优化

设置CPU负载采样时间

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

rk3588_s:/ # cat /proc/sys/kernel/sched_pelt_period
32

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

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

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

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

设置大小核切换的阈值

大小核切换的阈值需要修改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)

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

你可能感兴趣的:(RK3588,性能优化,rk3588,rockchip,linux,andriod)