|
|
|
|
@ -64,8 +64,17 @@ function 8953_sched_dcvs_eas()
|
|
|
|
|
for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw
|
|
|
|
|
do
|
|
|
|
|
echo "bw_hwmon" > $cpubw/governor
|
|
|
|
|
echo 85 > $cpubw/bw_hwmon/io_percent
|
|
|
|
|
echo 34 > $cpubw/bw_hwmon/io_percent
|
|
|
|
|
echo 0 > $cpubw/bw_hwmon/guard_band_mbps
|
|
|
|
|
echo 20 > $cpubw/bw_hwmon/hist_memory
|
|
|
|
|
echo 10 > $cpubw/bw_hwmon/hyst_length
|
|
|
|
|
echo 1600 > $cpubw/bw_hwmon/idle_mbps
|
|
|
|
|
echo 20 > $cpubw/bw_hwmon/low_power_delay
|
|
|
|
|
echo 34 > $cpubw/bw_hwmon/low_power_io_percent
|
|
|
|
|
echo "1611 3221 5859 6445 7104" > $cpubw/bw_hwmon/mbps_zones
|
|
|
|
|
echo 4 > $cpubw/bw_hwmon/sample_ms
|
|
|
|
|
echo 250 > $cpubw/bw_hwmon/up_scale
|
|
|
|
|
echo 1611 > $cpubw/min_freq
|
|
|
|
|
done
|
|
|
|
|
done
|
|
|
|
|
else
|
|
|
|
|
@ -117,8 +126,8 @@ function 8917_sched_dcvs_eas()
|
|
|
|
|
for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw
|
|
|
|
|
do
|
|
|
|
|
echo "bw_hwmon" > $cpubw/governor
|
|
|
|
|
echo 85 > $cpubw/bw_hwmon/io_percent
|
|
|
|
|
echo 0 > $cpubw/bw_hwmon/guard_band_mbps
|
|
|
|
|
echo 20 > $cpubw/bw_hwmon/io_percent
|
|
|
|
|
echo 30 > $cpubw/bw_hwmon/guard_band_mbps
|
|
|
|
|
done
|
|
|
|
|
done
|
|
|
|
|
else
|
|
|
|
|
@ -191,8 +200,8 @@ function 8937_sched_dcvs_eas()
|
|
|
|
|
for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw
|
|
|
|
|
do
|
|
|
|
|
echo "bw_hwmon" > $cpubw/governor
|
|
|
|
|
echo 85 > $cpubw/bw_hwmon/io_percent
|
|
|
|
|
echo 0 > $cpubw/bw_hwmon/guard_band_mbps
|
|
|
|
|
echo 20 > $cpubw/bw_hwmon/io_percent
|
|
|
|
|
echo 30 > $cpubw/bw_hwmon/guard_band_mbps
|
|
|
|
|
done
|
|
|
|
|
done
|
|
|
|
|
else
|
|
|
|
|
@ -905,6 +914,13 @@ function enable_swap() {
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function disable_ppr()
|
|
|
|
|
{
|
|
|
|
|
if [ -f /sys/module/process_reclaim/parameters/enable_process_reclaim ]; then
|
|
|
|
|
echo 0 > /sys/module/process_reclaim/parameters/enable_process_reclaim
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function configure_memory_parameters() {
|
|
|
|
|
# Set Memory parameters.
|
|
|
|
|
#
|
|
|
|
|
@ -2414,6 +2430,10 @@ case "$target" in
|
|
|
|
|
|
|
|
|
|
# Set Memory parameters
|
|
|
|
|
configure_memory_parameters
|
|
|
|
|
|
|
|
|
|
if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
|
|
|
|
|
disable_ppr
|
|
|
|
|
fi
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
case "$soc_id" in
|
|
|
|
|
@ -2687,6 +2707,10 @@ case "$target" in
|
|
|
|
|
echo 1 > /proc/sys/kernel/power_aware_timer_migration
|
|
|
|
|
# Set Memory parameters
|
|
|
|
|
configure_memory_parameters
|
|
|
|
|
|
|
|
|
|
if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
|
|
|
|
|
disable_ppr
|
|
|
|
|
fi
|
|
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
;;
|
|
|
|
|
@ -2712,28 +2736,30 @@ case "$target" in
|
|
|
|
|
#disable sched_boost in 8937
|
|
|
|
|
echo 0 > /proc/sys/kernel/sched_boost
|
|
|
|
|
|
|
|
|
|
for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor
|
|
|
|
|
do
|
|
|
|
|
echo "cpufreq" > $devfreq_gov
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
for devfreq_gov in /sys/class/devfreq/soc:qcom,cpubw/governor
|
|
|
|
|
do
|
|
|
|
|
echo "bw_hwmon" > $devfreq_gov
|
|
|
|
|
for cpu_io_percent in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent
|
|
|
|
|
if [ $KernelVersionA -le 4 ] && [ $KernelVersionB -le 9 ]; then
|
|
|
|
|
for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor
|
|
|
|
|
do
|
|
|
|
|
echo 20 > $cpu_io_percent
|
|
|
|
|
echo "cpufreq" > $devfreq_gov
|
|
|
|
|
done
|
|
|
|
|
for cpu_guard_band in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps
|
|
|
|
|
do
|
|
|
|
|
echo 30 > $cpu_guard_band
|
|
|
|
|
done
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent
|
|
|
|
|
do
|
|
|
|
|
echo 40 > $gpu_bimc_io_percent
|
|
|
|
|
done
|
|
|
|
|
for devfreq_gov in /sys/class/devfreq/soc:qcom,cpubw/governor
|
|
|
|
|
do
|
|
|
|
|
echo "bw_hwmon" > $devfreq_gov
|
|
|
|
|
for cpu_io_percent in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent
|
|
|
|
|
do
|
|
|
|
|
echo 20 > $cpu_io_percent
|
|
|
|
|
done
|
|
|
|
|
for cpu_guard_band in /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps
|
|
|
|
|
do
|
|
|
|
|
echo 30 > $cpu_guard_band
|
|
|
|
|
done
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
for gpu_bimc_io_percent in /sys/class/devfreq/soc:qcom,gpubw/bw_hwmon/io_percent
|
|
|
|
|
do
|
|
|
|
|
echo 40 > $gpu_bimc_io_percent
|
|
|
|
|
done
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# disable thermal core_control to update interactive gov and core_ctl settings
|
|
|
|
|
echo 0 > /sys/module/msm_thermal/core_control/enabled
|
|
|
|
|
@ -2784,6 +2810,9 @@ case "$target" in
|
|
|
|
|
echo 1 > /proc/sys/kernel/power_aware_timer_migration
|
|
|
|
|
# Set Memory parameters
|
|
|
|
|
configure_memory_parameters
|
|
|
|
|
if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
|
|
|
|
|
disable_ppr
|
|
|
|
|
fi
|
|
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
|
|
|
|
|
@ -2808,8 +2837,8 @@ case "$target" in
|
|
|
|
|
for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw
|
|
|
|
|
do
|
|
|
|
|
echo "bw_hwmon" > $cpubw/governor
|
|
|
|
|
echo 85 > $cpubw/bw_hwmon/io_percent
|
|
|
|
|
echo 0 > $cpubw/bw_hwmon/guard_band_mbps
|
|
|
|
|
echo 20 > $cpubw/bw_hwmon/io_percent
|
|
|
|
|
echo 30 > $cpubw/bw_hwmon/guard_band_mbps
|
|
|
|
|
done
|
|
|
|
|
done
|
|
|
|
|
else
|
|
|
|
|
@ -2991,6 +3020,10 @@ case "$target" in
|
|
|
|
|
# Set Memory parameters
|
|
|
|
|
configure_memory_parameters
|
|
|
|
|
|
|
|
|
|
if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 19 ]; then
|
|
|
|
|
disable_ppr
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
#disable sched_boost
|
|
|
|
|
echo 0 > /proc/sys/kernel/sched_boost
|
|
|
|
|
|
|
|
|
|
@ -3420,7 +3453,7 @@ case "$target" in
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
case "$soc_id" in
|
|
|
|
|
"394" )
|
|
|
|
|
"394" | "467" | "468" )
|
|
|
|
|
|
|
|
|
|
# Core control parameters on big
|
|
|
|
|
echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
|
|
|
|
|
@ -4221,6 +4254,109 @@ case "$target" in
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
#power/perf tunings for khaje
|
|
|
|
|
case "$soc_id" in
|
|
|
|
|
"518" )
|
|
|
|
|
|
|
|
|
|
# Core control parameters on big
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable
|
|
|
|
|
echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
|
|
|
|
|
echo 40 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres
|
|
|
|
|
echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres
|
|
|
|
|
echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms
|
|
|
|
|
echo 4 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres
|
|
|
|
|
|
|
|
|
|
# Setting b.L scheduler parameters
|
|
|
|
|
echo 65 > /proc/sys/kernel/sched_downmigrate
|
|
|
|
|
echo 71 > /proc/sys/kernel/sched_upmigrate
|
|
|
|
|
echo 85 > /proc/sys/kernel/sched_group_downmigrate
|
|
|
|
|
echo 100 > /proc/sys/kernel/sched_group_upmigrate
|
|
|
|
|
|
|
|
|
|
# cpuset settings
|
|
|
|
|
echo 0-3 > /dev/cpuset/background/cpus
|
|
|
|
|
echo 0-3 > /dev/cpuset/system-background/cpus
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# configure governor settings for little cluster
|
|
|
|
|
echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us
|
|
|
|
|
echo 1516800 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq
|
|
|
|
|
echo 691200 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rtg_boost_freq
|
|
|
|
|
|
|
|
|
|
# configure governor settings for big cluster
|
|
|
|
|
echo "schedutil" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us
|
|
|
|
|
echo 1344000 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq
|
|
|
|
|
echo 1056000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/rtg_boost_freq
|
|
|
|
|
|
|
|
|
|
echo "0:1190000" > /sys/devices/system/cpu/cpu_boost/input_boost_freq
|
|
|
|
|
echo 80 > /sys/devices/system/cpu/cpu_boost/input_boost_ms
|
|
|
|
|
|
|
|
|
|
echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks
|
|
|
|
|
|
|
|
|
|
# sched_load_boost as -6 is equivalent to target load as 85. It is per cpu tunable.
|
|
|
|
|
echo -6 > /sys/devices/system/cpu/cpu0/sched_load_boost
|
|
|
|
|
echo -6 > /sys/devices/system/cpu/cpu1/sched_load_boost
|
|
|
|
|
echo -6 > /sys/devices/system/cpu/cpu2/sched_load_boost
|
|
|
|
|
echo -6 > /sys/devices/system/cpu/cpu3/sched_load_boost
|
|
|
|
|
echo -6 > /sys/devices/system/cpu/cpu4/sched_load_boost
|
|
|
|
|
echo -6 > /sys/devices/system/cpu/cpu5/sched_load_boost
|
|
|
|
|
echo -6 > /sys/devices/system/cpu/cpu6/sched_load_boost
|
|
|
|
|
echo -6 > /sys/devices/system/cpu/cpu7/sched_load_boost
|
|
|
|
|
echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load
|
|
|
|
|
echo 85 > /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load
|
|
|
|
|
|
|
|
|
|
# Set Memory parameters
|
|
|
|
|
configure_memory_parameters
|
|
|
|
|
|
|
|
|
|
# Enable bus-dcvs
|
|
|
|
|
|
|
|
|
|
for device in /sys/devices/platform/soc
|
|
|
|
|
do
|
|
|
|
|
for cpubw in $device/*cpu-cpu-ddr-bw/devfreq/*cpu-cpu-ddr-bw
|
|
|
|
|
do
|
|
|
|
|
echo "bw_hwmon" > $cpubw/governor
|
|
|
|
|
echo 50 > $cpubw/polling_interval
|
|
|
|
|
echo 762 > $cpubw/min_freq
|
|
|
|
|
echo "2288 3440 4173 5195 5859 7759 10322 11863 13763 15960" > $cpubw/bw_hwmon/mbps_zones
|
|
|
|
|
echo 85 > $cpubw/bw_hwmon/io_percent
|
|
|
|
|
echo 4 > $cpubw/bw_hwmon/sample_ms
|
|
|
|
|
echo 90 > $cpubw/bw_hwmon/decay_rate
|
|
|
|
|
echo 190 > $cpubw/bw_hwmon/bw_step
|
|
|
|
|
echo 20 > $cpubw/bw_hwmon/hist_memory
|
|
|
|
|
echo 0 > $cpubw/bw_hwmon/hyst_length
|
|
|
|
|
echo 80 > $cpubw/bw_hwmon/down_thres
|
|
|
|
|
echo 0 > $cpubw/bw_hwmon/guard_band_mbps
|
|
|
|
|
echo 250 > $cpubw/bw_hwmon/up_scale
|
|
|
|
|
echo 1600 > $cpubw/bw_hwmon/idle_mbps
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
done
|
|
|
|
|
# memlat specific settings are moved to seperate file under
|
|
|
|
|
# device/target specific folder
|
|
|
|
|
setprop vendor.dcvs.prop 1
|
|
|
|
|
|
|
|
|
|
# colcoation v3 disabled
|
|
|
|
|
echo 0 > /proc/sys/kernel/sched_min_task_util_for_boost
|
|
|
|
|
echo 0 > /proc/sys/kernel/sched_min_task_util_for_colocation
|
|
|
|
|
|
|
|
|
|
# Turn off scheduler boost at the end
|
|
|
|
|
echo 0 > /proc/sys/kernel/sched_boost
|
|
|
|
|
|
|
|
|
|
echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/idle_enabled
|
|
|
|
|
echo N > /sys/module/lpm_levels/system/perf/perf-l2-gdhs/idle_enabled
|
|
|
|
|
echo N > /sys/module/lpm_levels/system/pwr/pwr-l2-gdhs/suspend_enabled
|
|
|
|
|
echo N > /sys/module/lpm_levels/system/perf/perf-l2-gdhs/suspend_enabled
|
|
|
|
|
# Turn on sleep modes
|
|
|
|
|
echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled
|
|
|
|
|
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
# Scuba perf/power tunings
|
|
|
|
|
case "$soc_id" in
|
|
|
|
|
"441" | "471" | "473" | "474" )
|
|
|
|
|
@ -5092,186 +5228,206 @@ esac
|
|
|
|
|
|
|
|
|
|
case "$target" in
|
|
|
|
|
"msmnile")
|
|
|
|
|
# Core control parameters for gold
|
|
|
|
|
echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
|
|
|
|
|
echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres
|
|
|
|
|
echo 30 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres
|
|
|
|
|
echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms
|
|
|
|
|
echo 3 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres
|
|
|
|
|
|
|
|
|
|
# Core control parameters for gold+
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpu7/core_ctl/min_cpus
|
|
|
|
|
echo 60 > /sys/devices/system/cpu/cpu7/core_ctl/busy_up_thres
|
|
|
|
|
echo 30 > /sys/devices/system/cpu/cpu7/core_ctl/busy_down_thres
|
|
|
|
|
echo 100 > /sys/devices/system/cpu/cpu7/core_ctl/offline_delay_ms
|
|
|
|
|
echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/task_thres
|
|
|
|
|
# Controls how many more tasks should be eligible to run on gold CPUs
|
|
|
|
|
# w.r.t number of gold CPUs available to trigger assist (max number of
|
|
|
|
|
# tasks eligible to run on previous cluster minus number of CPUs in
|
|
|
|
|
# the previous cluster).
|
|
|
|
|
#
|
|
|
|
|
# Setting to 1 by default which means there should be at least
|
|
|
|
|
# 4 tasks eligible to run on gold cluster (tasks running on gold cores
|
|
|
|
|
# plus misfit tasks on silver cores) to trigger assitance from gold+.
|
|
|
|
|
echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/nr_prev_assist_thresh
|
|
|
|
|
|
|
|
|
|
# Disable Core control on silver
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable
|
|
|
|
|
|
|
|
|
|
# Setting b.L scheduler parameters
|
|
|
|
|
echo 95 95 > /proc/sys/kernel/sched_upmigrate
|
|
|
|
|
echo 85 85 > /proc/sys/kernel/sched_downmigrate
|
|
|
|
|
echo 100 > /proc/sys/kernel/sched_group_upmigrate
|
|
|
|
|
echo 10 > /proc/sys/kernel/sched_group_downmigrate
|
|
|
|
|
echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks
|
|
|
|
|
|
|
|
|
|
# cpuset parameters
|
|
|
|
|
echo 0-3 > /dev/cpuset/background/cpus
|
|
|
|
|
echo 0-3 > /dev/cpuset/system-background/cpus
|
|
|
|
|
target_varient=`getprop ro.build.product`
|
|
|
|
|
if [ "$target_varient" == "msmnile_gvmq" ]; then
|
|
|
|
|
echo 4-7 > /dev/cpuset/background/cpus
|
|
|
|
|
echo 4-7 > /dev/cpuset/system-background/cpus
|
|
|
|
|
|
|
|
|
|
# Turn off scheduler boost at the end
|
|
|
|
|
echo 0 > /proc/sys/kernel/sched_boost
|
|
|
|
|
# Enable oom_reaper
|
|
|
|
|
if [ -f /sys/module/lowmemorykiller/parameters/oom_reaper ]; then
|
|
|
|
|
echo 1 > /sys/module/lowmemorykiller/parameters/oom_reaper
|
|
|
|
|
else
|
|
|
|
|
echo 1 > /proc/sys/vm/reap_mem_on_sigkill
|
|
|
|
|
fi
|
|
|
|
|
# Disable wsf, beacause we are using efk.
|
|
|
|
|
# wsf Range : 1..1000 So set to bare minimum value 1.
|
|
|
|
|
echo 1 > /proc/sys/vm/watermark_scale_factor
|
|
|
|
|
|
|
|
|
|
# configure governor settings for silver cluster
|
|
|
|
|
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
|
|
|
|
|
echo 1209600 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq
|
|
|
|
|
echo 576000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
|
|
|
|
|
echo 1 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl
|
|
|
|
|
|
|
|
|
|
# configure governor settings for gold cluster
|
|
|
|
|
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/up_rate_limit_us
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
|
|
|
|
|
echo 1612800 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq
|
|
|
|
|
echo 1 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/pl
|
|
|
|
|
|
|
|
|
|
# configure governor settings for gold+ cluster
|
|
|
|
|
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/up_rate_limit_us
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
|
|
|
|
|
echo 1612800 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq
|
|
|
|
|
echo 1 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/pl
|
|
|
|
|
|
|
|
|
|
# configure input boost settings
|
|
|
|
|
echo "0:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq
|
|
|
|
|
echo 120 > /sys/module/cpu_boost/parameters/input_boost_ms
|
|
|
|
|
|
|
|
|
|
# Disable wsf, beacause we are using efk.
|
|
|
|
|
# wsf Range : 1..1000 So set to bare minimum value 1.
|
|
|
|
|
echo 1 > /proc/sys/vm/watermark_scale_factor
|
|
|
|
|
|
|
|
|
|
echo 0-3 > /dev/cpuset/background/cpus
|
|
|
|
|
echo 0-3 > /dev/cpuset/system-background/cpus
|
|
|
|
|
|
|
|
|
|
# Enable oom_reaper
|
|
|
|
|
if [ -f /sys/module/lowmemorykiller/parameters/oom_reaper ]; then
|
|
|
|
|
echo 1 > /sys/module/lowmemorykiller/parameters/oom_reaper
|
|
|
|
|
else
|
|
|
|
|
# Disable wsf, beacause we are using efk.
|
|
|
|
|
# wsf Range : 1..1000 So set to bare minimum value 1.
|
|
|
|
|
echo 1 > /proc/sys/vm/watermark_scale_factor
|
|
|
|
|
# Enable oom_reaper
|
|
|
|
|
echo 1 > /proc/sys/vm/reap_mem_on_sigkill
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Enable bus-dcvs
|
|
|
|
|
for device in /sys/devices/platform/soc
|
|
|
|
|
do
|
|
|
|
|
for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw
|
|
|
|
|
do
|
|
|
|
|
echo "bw_hwmon" > $cpubw/governor
|
|
|
|
|
echo "2288 4577 7110 9155 12298 14236 15258" > $cpubw/bw_hwmon/mbps_zones
|
|
|
|
|
echo 4 > $cpubw/bw_hwmon/sample_ms
|
|
|
|
|
echo 50 > $cpubw/bw_hwmon/io_percent
|
|
|
|
|
echo 20 > $cpubw/bw_hwmon/hist_memory
|
|
|
|
|
echo 10 > $cpubw/bw_hwmon/hyst_length
|
|
|
|
|
echo 30 > $cpubw/bw_hwmon/down_thres
|
|
|
|
|
echo 0 > $cpubw/bw_hwmon/guard_band_mbps
|
|
|
|
|
echo 250 > $cpubw/bw_hwmon/up_scale
|
|
|
|
|
echo 1600 > $cpubw/bw_hwmon/idle_mbps
|
|
|
|
|
echo 14236 > $cpubw/max_freq
|
|
|
|
|
echo 40 > $cpubw/polling_interval
|
|
|
|
|
done
|
|
|
|
|
else
|
|
|
|
|
# Core control parameters for gold
|
|
|
|
|
echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
|
|
|
|
|
echo 60 > /sys/devices/system/cpu/cpu4/core_ctl/busy_up_thres
|
|
|
|
|
echo 30 > /sys/devices/system/cpu/cpu4/core_ctl/busy_down_thres
|
|
|
|
|
echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms
|
|
|
|
|
echo 3 > /sys/devices/system/cpu/cpu4/core_ctl/task_thres
|
|
|
|
|
|
|
|
|
|
for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw
|
|
|
|
|
do
|
|
|
|
|
echo "bw_hwmon" > $llccbw/governor
|
|
|
|
|
echo "1720 2929 3879 5931 6881 7980" > $llccbw/bw_hwmon/mbps_zones
|
|
|
|
|
echo 4 > $llccbw/bw_hwmon/sample_ms
|
|
|
|
|
echo 80 > $llccbw/bw_hwmon/io_percent
|
|
|
|
|
echo 20 > $llccbw/bw_hwmon/hist_memory
|
|
|
|
|
echo 10 > $llccbw/bw_hwmon/hyst_length
|
|
|
|
|
echo 30 > $llccbw/bw_hwmon/down_thres
|
|
|
|
|
echo 0 > $llccbw/bw_hwmon/guard_band_mbps
|
|
|
|
|
echo 250 > $llccbw/bw_hwmon/up_scale
|
|
|
|
|
echo 1600 > $llccbw/bw_hwmon/idle_mbps
|
|
|
|
|
echo 6881 > $llccbw/max_freq
|
|
|
|
|
echo 40 > $llccbw/polling_interval
|
|
|
|
|
done
|
|
|
|
|
# Core control parameters for gold+
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpu7/core_ctl/min_cpus
|
|
|
|
|
echo 60 > /sys/devices/system/cpu/cpu7/core_ctl/busy_up_thres
|
|
|
|
|
echo 30 > /sys/devices/system/cpu/cpu7/core_ctl/busy_down_thres
|
|
|
|
|
echo 100 > /sys/devices/system/cpu/cpu7/core_ctl/offline_delay_ms
|
|
|
|
|
echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/task_thres
|
|
|
|
|
# Controls how many more tasks should be eligible to run on gold CPUs
|
|
|
|
|
# w.r.t number of gold CPUs available to trigger assist (max number of
|
|
|
|
|
# tasks eligible to run on previous cluster minus number of CPUs in
|
|
|
|
|
# the previous cluster).
|
|
|
|
|
#
|
|
|
|
|
# Setting to 1 by default which means there should be at least
|
|
|
|
|
# 4 tasks eligible to run on gold cluster (tasks running on gold cores
|
|
|
|
|
# plus misfit tasks on silver cores) to trigger assitance from gold+.
|
|
|
|
|
echo 1 > /sys/devices/system/cpu/cpu7/core_ctl/nr_prev_assist_thresh
|
|
|
|
|
|
|
|
|
|
for npubw in $device/*npu-npu-ddr-bw/devfreq/*npu-npu-ddr-bw
|
|
|
|
|
do
|
|
|
|
|
echo 1 > /sys/devices/virtual/npu/msm_npu/pwr
|
|
|
|
|
echo "bw_hwmon" > $npubw/governor
|
|
|
|
|
echo "1720 2929 3879 5931 6881 7980" > $npubw/bw_hwmon/mbps_zones
|
|
|
|
|
echo 4 > $npubw/bw_hwmon/sample_ms
|
|
|
|
|
echo 80 > $npubw/bw_hwmon/io_percent
|
|
|
|
|
echo 20 > $npubw/bw_hwmon/hist_memory
|
|
|
|
|
echo 6 > $npubw/bw_hwmon/hyst_length
|
|
|
|
|
echo 30 > $npubw/bw_hwmon/down_thres
|
|
|
|
|
echo 0 > $npubw/bw_hwmon/guard_band_mbps
|
|
|
|
|
echo 250 > $npubw/bw_hwmon/up_scale
|
|
|
|
|
echo 0 > $npubw/bw_hwmon/idle_mbps
|
|
|
|
|
echo 40 > $npubw/polling_interval
|
|
|
|
|
echo 0 > /sys/devices/virtual/npu/msm_npu/pwr
|
|
|
|
|
# Disable Core control on silver
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable
|
|
|
|
|
|
|
|
|
|
# Setting b.L scheduler parameters
|
|
|
|
|
echo 95 95 > /proc/sys/kernel/sched_upmigrate
|
|
|
|
|
echo 85 85 > /proc/sys/kernel/sched_downmigrate
|
|
|
|
|
echo 100 > /proc/sys/kernel/sched_group_upmigrate
|
|
|
|
|
echo 10 > /proc/sys/kernel/sched_group_downmigrate
|
|
|
|
|
echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks
|
|
|
|
|
|
|
|
|
|
echo 0-3 > /dev/cpuset/background/cpus
|
|
|
|
|
echo 0-3 > /dev/cpuset/system-background/cpus
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Turn off scheduler boost at the end
|
|
|
|
|
echo 0 > /proc/sys/kernel/sched_boost
|
|
|
|
|
|
|
|
|
|
# configure governor settings for silver cluster
|
|
|
|
|
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
|
|
|
|
|
echo 1209600 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/hispeed_freq
|
|
|
|
|
echo 576000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
|
|
|
|
|
echo 1 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/pl
|
|
|
|
|
|
|
|
|
|
# configure governor settings for gold cluster
|
|
|
|
|
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/up_rate_limit_us
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
|
|
|
|
|
echo 1612800 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/hispeed_freq
|
|
|
|
|
echo 1 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/pl
|
|
|
|
|
|
|
|
|
|
# configure governor settings for gold+ cluster
|
|
|
|
|
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/up_rate_limit_us
|
|
|
|
|
echo 0 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us
|
|
|
|
|
echo 1612800 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/hispeed_freq
|
|
|
|
|
echo 1 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/pl
|
|
|
|
|
|
|
|
|
|
# configure input boost settings
|
|
|
|
|
echo "0:1324800" > /sys/module/cpu_boost/parameters/input_boost_freq
|
|
|
|
|
echo 120 > /sys/module/cpu_boost/parameters/input_boost_ms
|
|
|
|
|
|
|
|
|
|
# Disable wsf, beacause we are using efk.
|
|
|
|
|
# wsf Range : 1..1000 So set to bare minimum value 1.
|
|
|
|
|
echo 1 > /proc/sys/vm/watermark_scale_factor
|
|
|
|
|
|
|
|
|
|
# Enable oom_reaper
|
|
|
|
|
if [ -f /sys/module/lowmemorykiller/parameters/oom_reaper ]; then
|
|
|
|
|
echo 1 > /sys/module/lowmemorykiller/parameters/oom_reaper
|
|
|
|
|
else
|
|
|
|
|
echo 1 > /proc/sys/vm/reap_mem_on_sigkill
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Enable bus-dcvs
|
|
|
|
|
for device in /sys/devices/platform/soc
|
|
|
|
|
do
|
|
|
|
|
for cpubw in $device/*cpu-cpu-llcc-bw/devfreq/*cpu-cpu-llcc-bw
|
|
|
|
|
do
|
|
|
|
|
echo "bw_hwmon" > $cpubw/governor
|
|
|
|
|
echo "2288 4577 7110 9155 12298 14236 15258" > $cpubw/bw_hwmon/mbps_zones
|
|
|
|
|
echo 4 > $cpubw/bw_hwmon/sample_ms
|
|
|
|
|
echo 50 > $cpubw/bw_hwmon/io_percent
|
|
|
|
|
echo 20 > $cpubw/bw_hwmon/hist_memory
|
|
|
|
|
echo 10 > $cpubw/bw_hwmon/hyst_length
|
|
|
|
|
echo 30 > $cpubw/bw_hwmon/down_thres
|
|
|
|
|
echo 0 > $cpubw/bw_hwmon/guard_band_mbps
|
|
|
|
|
echo 250 > $cpubw/bw_hwmon/up_scale
|
|
|
|
|
echo 1600 > $cpubw/bw_hwmon/idle_mbps
|
|
|
|
|
echo 14236 > $cpubw/max_freq
|
|
|
|
|
echo 40 > $cpubw/polling_interval
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw
|
|
|
|
|
do
|
|
|
|
|
echo "bw_hwmon" > $llccbw/governor
|
|
|
|
|
echo "1720 2929 3879 5931 6881 7980" > $llccbw/bw_hwmon/mbps_zones
|
|
|
|
|
echo 4 > $llccbw/bw_hwmon/sample_ms
|
|
|
|
|
echo 80 > $llccbw/bw_hwmon/io_percent
|
|
|
|
|
echo 20 > $llccbw/bw_hwmon/hist_memory
|
|
|
|
|
echo 10 > $llccbw/bw_hwmon/hyst_length
|
|
|
|
|
echo 30 > $llccbw/bw_hwmon/down_thres
|
|
|
|
|
echo 0 > $llccbw/bw_hwmon/guard_band_mbps
|
|
|
|
|
echo 250 > $llccbw/bw_hwmon/up_scale
|
|
|
|
|
echo 1600 > $llccbw/bw_hwmon/idle_mbps
|
|
|
|
|
echo 6881 > $llccbw/max_freq
|
|
|
|
|
echo 40 > $llccbw/polling_interval
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
for npubw in $device/*npu-npu-ddr-bw/devfreq/*npu-npu-ddr-bw
|
|
|
|
|
do
|
|
|
|
|
echo 1 > /sys/devices/virtual/npu/msm_npu/pwr
|
|
|
|
|
echo "bw_hwmon" > $npubw/governor
|
|
|
|
|
echo "1720 2929 3879 5931 6881 7980" > $npubw/bw_hwmon/mbps_zones
|
|
|
|
|
echo 4 > $npubw/bw_hwmon/sample_ms
|
|
|
|
|
echo 80 > $npubw/bw_hwmon/io_percent
|
|
|
|
|
echo 20 > $npubw/bw_hwmon/hist_memory
|
|
|
|
|
echo 6 > $npubw/bw_hwmon/hyst_length
|
|
|
|
|
echo 30 > $npubw/bw_hwmon/down_thres
|
|
|
|
|
echo 0 > $npubw/bw_hwmon/guard_band_mbps
|
|
|
|
|
echo 250 > $npubw/bw_hwmon/up_scale
|
|
|
|
|
echo 0 > $npubw/bw_hwmon/idle_mbps
|
|
|
|
|
echo 40 > $npubw/polling_interval
|
|
|
|
|
echo 0 > /sys/devices/virtual/npu/msm_npu/pwr
|
|
|
|
|
done
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
# memlat specific settings are moved to seperate file under
|
|
|
|
|
# device/target specific folder
|
|
|
|
|
setprop vendor.dcvs.prop 1
|
|
|
|
|
# memlat specific settings are moved to seperate file under
|
|
|
|
|
# device/target specific folder
|
|
|
|
|
setprop vendor.dcvs.prop 1
|
|
|
|
|
|
|
|
|
|
if [ -f /sys/devices/soc0/hw_platform ]; then
|
|
|
|
|
hw_platform=`cat /sys/devices/soc0/hw_platform`
|
|
|
|
|
else
|
|
|
|
|
hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform`
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ -f /sys/devices/soc0/platform_subtype_id ]; then
|
|
|
|
|
platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id`
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
case "$hw_platform" in
|
|
|
|
|
"MTP" | "Surf" | "RCM" )
|
|
|
|
|
# Start Host based Touch processing
|
|
|
|
|
case "$platform_subtype_id" in
|
|
|
|
|
"0" | "1" | "2" | "3" | "4")
|
|
|
|
|
start_hbtp
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
;;
|
|
|
|
|
"HDK" )
|
|
|
|
|
if [ -d /sys/kernel/hbtpsensor ] ; then
|
|
|
|
|
start_hbtp
|
|
|
|
|
fi
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled
|
|
|
|
|
configure_memory_parameters
|
|
|
|
|
target_type=`getprop ro.hardware.type`
|
|
|
|
|
if [ -f /sys/devices/soc0/soc_id ]; then
|
|
|
|
|
soc_id=`cat /sys/devices/soc0/soc_id`
|
|
|
|
|
else
|
|
|
|
|
soc_id=`cat /sys/devices/system/soc/soc0/id`
|
|
|
|
|
fi
|
|
|
|
|
if [ "$target_type" == "automotive" ]; then
|
|
|
|
|
# update frequencies
|
|
|
|
|
if [ "$soc_id" == "340" ] | [ "$soc_id" == "405" ]; then #sa8195
|
|
|
|
|
configure_automotive_sku_parameters_sa8195
|
|
|
|
|
else #sa8155
|
|
|
|
|
configure_automotive_sku_parameters
|
|
|
|
|
fi
|
|
|
|
|
if [ -f /sys/devices/soc0/hw_platform ]; then
|
|
|
|
|
hw_platform=`cat /sys/devices/soc0/hw_platform`
|
|
|
|
|
else
|
|
|
|
|
hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform`
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ -f /sys/devices/soc0/platform_subtype_id ]; then
|
|
|
|
|
platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id`
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
case "$hw_platform" in
|
|
|
|
|
"MTP" | "Surf" | "RCM" )
|
|
|
|
|
# Start Host based Touch processing
|
|
|
|
|
case "$platform_subtype_id" in
|
|
|
|
|
"0" | "1" | "2" | "3" | "4")
|
|
|
|
|
start_hbtp
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
;;
|
|
|
|
|
"HDK" )
|
|
|
|
|
if [ -d /sys/kernel/hbtpsensor ] ; then
|
|
|
|
|
start_hbtp
|
|
|
|
|
fi
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled
|
|
|
|
|
configure_memory_parameters
|
|
|
|
|
target_type=`getprop ro.hardware.type`
|
|
|
|
|
if [ -f /sys/devices/soc0/soc_id ]; then
|
|
|
|
|
soc_id=`cat /sys/devices/soc0/soc_id`
|
|
|
|
|
else
|
|
|
|
|
soc_id=`cat /sys/devices/system/soc/soc0/id`
|
|
|
|
|
fi
|
|
|
|
|
if [ "$target_type" == "automotive" ]; then
|
|
|
|
|
# update frequencies
|
|
|
|
|
if [ "$soc_id" == "340" ] | [ "$soc_id" == "405" ]; then #sa8195
|
|
|
|
|
configure_automotive_sku_parameters_sa8195
|
|
|
|
|
else #sa8155
|
|
|
|
|
configure_automotive_sku_parameters
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
|