[openwrt/openwrt] ipq806x: improve system latency

LEDE Commits lede-commits at lists.infradead.org
Wed May 26 15:29:25 PDT 2021


zorun pushed a commit to openwrt/openwrt.git, branch openwrt-21.02:
https://git.openwrt.org/0b0bec56ea1ac97098a7a546df2ebd62f7011129

commit 0b0bec56ea1ac97098a7a546df2ebd62f7011129
Author: Ansuel Smith <ansuelsmth at gmail.com>
AuthorDate: Sun Mar 28 03:29:59 2021 +0200

    ipq806x: improve system latency
    
    Various report and data show that the freq 384000 is too low and cause some
    extra latency to the entire system. OEM qsdk code also set the min frequency
    for this target to 800 mhz.
    Also some user notice some instability with this idle frequency, solved by
    setting the min frequency to 600mhz. Fix all these kind of problem by
    introducing a boot init.d script that set the min frequency to 600mhz and set
    the ondemand governor to be more aggressive. The script set these value only if
    the ondemand governor is detected. 384 mhz freq is still available and user can
    decide to restore the old behavior by disabling this script.
    
    Signed-off-by: Ansuel Smith <ansuelsmth at gmail.com>
    (cherry picked from commit 861b82d36ae43efec8d16e61b82482e38996af92)
---
 target/linux/ipq806x/base-files/etc/init.d/cpufreq | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/target/linux/ipq806x/base-files/etc/init.d/cpufreq b/target/linux/ipq806x/base-files/etc/init.d/cpufreq
new file mode 100755
index 0000000000..19278902ed
--- /dev/null
+++ b/target/linux/ipq806x/base-files/etc/init.d/cpufreq
@@ -0,0 +1,17 @@
+#!/bin/sh /etc/rc.common
+
+START=15
+
+boot() {
+  local governor
+
+  governor=$(cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor)
+
+  if [ "$governor" = "ondemand" ]; then
+    # Effective only with ondemand
+    echo 600000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
+    echo 600000 > /sys/devices/system/cpu/cpufreq/policy1/scaling_min_freq
+    echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
+    echo 50 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
+  fi
+}



More information about the lede-commits mailing list