diff --git a/ktweak b/ktweak index eb4095b..377b10e 100644 --- a/ktweak +++ b/ktweak @@ -108,33 +108,34 @@ then write /dev/stune/top-app/schedtune.prefer_idle 1 fi +avail_govs="$(cat "${cpu}scaling_available_governors")" for cpu in /sys/devices/system/cpu/cpu*/cpufreq/ do - avail_govs="$(cat "${cpu}scaling_available_governors")" - if [[ "$avail_govs" == *"schedutil"* ]] - then - write "${cpu}scaling_governor" schedutil - - # Consider changing frequencies once per scheduling period - write "${cpu}schedutil/up_rate_limit_us" 5000 - write "${cpu}schedutil/down_rate_limit_us" 5000 - write "${cpu}schedutil/rate_limit_us" 5000 - - # Jump to max frequency at 90% load - write "${cpu}schedutil/hispeed_load" 90 - write "${cpu}schedutil/hispeed_freq" "$(cat "${cpu}cpuinfo_max_freq")" - elif [[ "$avail_govs" == *"interactive"* ]] - then - write "${cpu}scaling_governor" interactive + case "$avail_govs" in + *schedutil*) + write "${cpu}scaling_governor" schedutil + + # Consider changing frequencies once per scheduling period + write "${cpu}schedutil/up_rate_limit_us" 5000 + write "${cpu}schedutil/down_rate_limit_us" 5000 + write "${cpu}schedutil/rate_limit_us" 5000 + + # Jump to max frequency at 90% load + write "${cpu}schedutil/hispeed_load" 90 + write "${cpu}schedutil/hispeed_freq" "$(cat "${cpu}cpuinfo_max_freq")" + ;; + *interactive*) + write "${cpu}scaling_governor" interactive - # Consider changing frequencies once per scheduling period - write "${cpu}interactive/timer_rate" 5000 - write "${cpu}interactive/min_sample_time" 5000 - - # Jump to max frequency at 90% load - write "${cpu}interactive/go_hispeed_load" 90 - write "${cpu}interactive/hispeed_freq" "$(cat "${cpu}cpuinfo_max_freq")" - fi + # Consider changing frequencies once per scheduling period + write "${cpu}interactive/timer_rate" 5000 + write "${cpu}interactive/min_sample_time" 5000 + + # Jump to max frequency at 90% load + write "${cpu}interactive/go_hispeed_load" 90 + write "${cpu}interactive/hispeed_freq" "$(cat "${cpu}cpuinfo_max_freq")" + ;; + esac done for queue in /sys/block/*/queue/