mirror of
https://github.com/Evolution-X-Devices/device_xiaomi_sdm710-common
synced 2026-01-27 13:56:36 +00:00
sdm710-common: rootdir: Move all static parameters to init.qcom.power.rc
Move the rest of static configuration parameters from init.qcom.post_boot.sh to init.qcom.power.rc. Change-Id: I18d8aa7bdd4f2807246dafd9c47fc7fb9b65dc71
This commit is contained in:
@@ -73,115 +73,11 @@ function configure_read_ahead_kb_values() {
|
||||
done
|
||||
}
|
||||
|
||||
function configure_memory_parameters() {
|
||||
# Set Memory parameters.
|
||||
#
|
||||
# Set per_process_reclaim tuning parameters
|
||||
# All targets will use vmpressure range 50-70,
|
||||
# All targets will use 512 pages swap size.
|
||||
#
|
||||
# Set allocstall_threshold to 0 for all targets.
|
||||
# Set ZRAM parameters
|
||||
configure_zram_parameters
|
||||
|
||||
# Set PPR parameters
|
||||
echo 6 > /sys/module/process_reclaim/parameters/min_score_adj
|
||||
echo 0 > /sys/module/process_reclaim/parameters/enable_process_reclaim
|
||||
echo 50 > /sys/module/process_reclaim/parameters/pressure_min
|
||||
echo 70 > /sys/module/process_reclaim/parameters/pressure_max
|
||||
echo 30 > /sys/module/process_reclaim/parameters/swap_opt_eff
|
||||
echo 512 > /sys/module/process_reclaim/parameters/per_swap_size
|
||||
|
||||
# Set allocstall_threshold to 0 for all targets.
|
||||
# Set swappiness to 100 for all targets
|
||||
echo 0 > /sys/module/vmpressure/parameters/allocstall_threshold
|
||||
echo 100 > /proc/sys/vm/swappiness
|
||||
|
||||
# Disable wsf for all targets 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_zram_parameters
|
||||
|
||||
configure_read_ahead_kb_values
|
||||
}
|
||||
|
||||
# Set the default IRQ affinity to the silver cluster. When a
|
||||
# CPU is isolated/hotplugged, the IRQ affinity is adjusted
|
||||
# to one of the CPU from the default IRQ affinity mask.
|
||||
echo 3f > /proc/irq/default_smp_affinity
|
||||
|
||||
# Core control parameters on silver
|
||||
echo 0 0 0 0 1 1 > /sys/devices/system/cpu/cpu0/core_ctl/not_preferred
|
||||
echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus
|
||||
echo 60 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres
|
||||
echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres
|
||||
echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms
|
||||
echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/is_big_cluster
|
||||
echo 8 > /sys/devices/system/cpu/cpu0/core_ctl/task_thres
|
||||
|
||||
# Setting b.L scheduler parameters
|
||||
echo 96 > /proc/sys/kernel/sched_upmigrate
|
||||
echo 90 > /proc/sys/kernel/sched_downmigrate
|
||||
echo 140 > /proc/sys/kernel/sched_group_upmigrate
|
||||
echo 120 > /proc/sys/kernel/sched_group_downmigrate
|
||||
echo 1 > /proc/sys/kernel/sched_walt_rotate_big_tasks
|
||||
|
||||
# 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/rate_limit_us
|
||||
echo 1209600 > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq
|
||||
echo 576000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
|
||||
|
||||
# Configure governor settings for big cluster
|
||||
echo "schedutil" > /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor
|
||||
echo 0 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/rate_limit_us
|
||||
echo 1344000 > /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_freq
|
||||
echo 652800 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq
|
||||
|
||||
# sched_load_boost as -6 is equivalent to target load as 85.
|
||||
# It is per cpu tunable.
|
||||
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/cpu6/cpufreq/schedutil/hispeed_load
|
||||
|
||||
echo "0:1209600" > /sys/module/cpu_boost/parameters/input_boost_freq
|
||||
echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms
|
||||
|
||||
# Set Memory parameters
|
||||
configure_memory_parameters
|
||||
|
||||
# Enable bus-dcvs
|
||||
for cpubw in /sys/class/devfreq/*qcom,cpubw*
|
||||
do
|
||||
echo "bw_hwmon" > $cpubw/governor
|
||||
echo 50 > $cpubw/polling_interval
|
||||
echo "1144 1720 2086 2929 3879 5931 6881" > $cpubw/bw_hwmon/mbps_zones
|
||||
echo 4 > $cpubw/bw_hwmon/sample_ms
|
||||
echo 68 > $cpubw/bw_hwmon/io_percent
|
||||
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
|
||||
|
||||
echo "cpufreq" > /sys/class/devfreq/soc:qcom,mincpubw/governor
|
||||
|
||||
# Disable CPU Retention
|
||||
echo N > /sys/module/lpm_levels/L3/cpu0/ret/idle_enabled
|
||||
echo N > /sys/module/lpm_levels/L3/cpu1/ret/idle_enabled
|
||||
echo N > /sys/module/lpm_levels/L3/cpu2/ret/idle_enabled
|
||||
echo N > /sys/module/lpm_levels/L3/cpu3/ret/idle_enabled
|
||||
echo N > /sys/module/lpm_levels/L3/cpu4/ret/idle_enabled
|
||||
echo N > /sys/module/lpm_levels/L3/cpu5/ret/idle_enabled
|
||||
echo N > /sys/module/lpm_levels/L3/cpu6/ret/idle_enabled
|
||||
echo N > /sys/module/lpm_levels/L3/cpu7/ret/idle_enabled
|
||||
|
||||
# Turn off scheduler boost at the end
|
||||
echo 0 > /proc/sys/kernel/sched_boost
|
||||
|
||||
# Turn on sleep modes.
|
||||
echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled
|
||||
# Set read ahead parameters
|
||||
configure_read_ahead_kb_values
|
||||
|
||||
emmc_boot=`getprop vendor.boot.emmc`
|
||||
case "$emmc_boot"
|
||||
|
||||
@@ -80,6 +80,82 @@ on property:init.svc.vendor.charger=running
|
||||
start vendor.thermal-engine
|
||||
|
||||
on enable-low-power
|
||||
# Set the default IRQ affinity to the silver cluster. When a
|
||||
# CPU is isolated/hotplugged, the IRQ affinity is adjusted
|
||||
# to one of the CPU from the default IRQ affinity mask.
|
||||
write /proc/irq/default_smp_affinity "3f"
|
||||
|
||||
# Core control parameters on silver
|
||||
write /sys/devices/system/cpu/cpu0/core_ctl/not_preferred "0 0 0 0 1 1"
|
||||
write /sys/devices/system/cpu/cpu0/core_ctl/min_cpus 4
|
||||
write /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres 60
|
||||
write /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres 40
|
||||
write /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms 100
|
||||
write /sys/devices/system/cpu/cpu0/core_ctl/is_big_cluster 0
|
||||
write /sys/devices/system/cpu/cpu0/core_ctl/task_thres 8
|
||||
|
||||
# Setting b.L scheduler parameters
|
||||
write /proc/sys/kernel/sched_upmigrate 96
|
||||
write /proc/sys/kernel/sched_downmigrate 90
|
||||
write /proc/sys/kernel/sched_group_upmigrate 140
|
||||
write /proc/sys/kernel/sched_group_downmigrate 120
|
||||
write /proc/sys/kernel/sched_walt_rotate_big_tasks 1
|
||||
|
||||
# Configure governor settings for little cluster
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "schedutil"
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rate_limit_us 0
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq 1209600
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 576000
|
||||
|
||||
# Configure governor settings for big cluster
|
||||
write /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor "schedutil"
|
||||
write /sys/devices/system/cpu/cpu6/cpufreq/schedutil/rate_limit_us 0
|
||||
write /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_freq 1344000
|
||||
write /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq 652800
|
||||
|
||||
# Set sched_load_boost as -6 that is equivalent to target load as 85.
|
||||
write /sys/devices/system/cpu/cpu6/sched_load_boost -6
|
||||
write /sys/devices/system/cpu/cpu7/sched_load_boost -6
|
||||
write /sys/devices/system/cpu/cpu6/cpufreq/schedutil/hispeed_load 85
|
||||
|
||||
write /sys/module/cpu_boost/parameters/input_boost_freq "0:1209600"
|
||||
write /sys/module/cpu_boost/parameters/input_boost_ms 40
|
||||
|
||||
# Memory parameters
|
||||
|
||||
# Set per_process_reclaim tuning parameters:
|
||||
# - vmpressure range: 50-70
|
||||
# - swap size: 512 pages
|
||||
write /sys/module/process_reclaim/parameters/min_score_adj 6
|
||||
write /sys/module/process_reclaim/parameters/enable_process_reclaim 0
|
||||
write /sys/module/process_reclaim/parameters/pressure_min 50
|
||||
write /sys/module/process_reclaim/parameters/pressure_max 70
|
||||
write /sys/module/process_reclaim/parameters/swap_opt_eff 30
|
||||
write /sys/module/process_reclaim/parameters/per_swap_size 512
|
||||
|
||||
# Set allocstall_threshold to 0
|
||||
write /sys/module/vmpressure/parameters/allocstall_threshold 0
|
||||
|
||||
# Set swappiness to 100 for all targets
|
||||
write /proc/sys/vm/swappiness 100
|
||||
|
||||
# Disable wsf because we are using efk.
|
||||
# wsf Range : 1..1000 So set to bare minimum value 1.
|
||||
write /proc/sys/vm/watermark_scale_factor 1
|
||||
|
||||
# Enable bus-dcvs
|
||||
write /sys/class/devfreq/soc:qcom,cpubw/governor "bw_hwmon"
|
||||
write /sys/class/devfreq/soc:qcom,cpubw/polling_interval 50
|
||||
write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/mbps_zones "1144 1720 2086 2929 3879 5931 6881"
|
||||
write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/sample_ms 4
|
||||
write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent 68
|
||||
write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/hist_memory 20
|
||||
write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/hyst_length 0
|
||||
write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/down_thres 80
|
||||
write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/guard_band_mbps 0
|
||||
write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/up_scale 250
|
||||
write /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/idle_mbps 1600
|
||||
|
||||
# Enable mem_latency governor for DDR scaling
|
||||
write /sys/class/devfreq/soc:qcom,memlat-cpu0/governor "mem_latency"
|
||||
write /sys/class/devfreq/soc:qcom,memlat-cpu0/polling_interval 10
|
||||
@@ -102,6 +178,18 @@ on enable-low-power
|
||||
write /sys/class/devfreq/soc:qcom,l3-cdsp/governor "userspace"
|
||||
chown system /sys/class/devfreq/soc:qcom,l3-cdsp/userspace/set_freq
|
||||
|
||||
write /sys/class/devfreq/soc:qcom,mincpubw/governor "cpufreq"
|
||||
|
||||
# Disable CPU Retention
|
||||
write /sys/module/lpm_levels/L3/cpu0/ret/idle_enabled "N"
|
||||
write /sys/module/lpm_levels/L3/cpu1/ret/idle_enabled "N"
|
||||
write /sys/module/lpm_levels/L3/cpu2/ret/idle_enabled "N"
|
||||
write /sys/module/lpm_levels/L3/cpu3/ret/idle_enabled "N"
|
||||
write /sys/module/lpm_levels/L3/cpu4/ret/idle_enabled "N"
|
||||
write /sys/module/lpm_levels/L3/cpu5/ret/idle_enabled "N"
|
||||
write /sys/module/lpm_levels/L3/cpu6/ret/idle_enabled "N"
|
||||
write /sys/module/lpm_levels/L3/cpu7/ret/idle_enabled "N"
|
||||
|
||||
# Set cpuset parameters
|
||||
write /dev/cpuset/background/cpus 4-5
|
||||
write /dev/cpuset/system-background/cpus 2-5
|
||||
@@ -110,6 +198,12 @@ on enable-low-power
|
||||
write /dev/cpuset/top-app/cpus 0-7
|
||||
write /dev/cpuset/restricted/cpus 2-5
|
||||
|
||||
# Turn off scheduler boost at the end
|
||||
write /proc/sys/kernel/sched_boost 0
|
||||
|
||||
# Turn on sleep modes
|
||||
write /sys/module/lpm_levels/parameters/sleep_disabled 0
|
||||
|
||||
# Enable idle state listener
|
||||
write /sys/class/drm/card0/device/idle_encoder_mask 1
|
||||
write /sys/class/drm/card0/device/idle_timeout_ms 100
|
||||
|
||||
1
sepolicy/vendor/vendor_init.te
vendored
1
sepolicy/vendor/vendor_init.te
vendored
@@ -1,4 +1,5 @@
|
||||
allow vendor_init proc_sysctl_autogroup:file w_file_perms;
|
||||
allow vendor_init proc_sysctl_schedboost:file w_file_perms;
|
||||
allow vendor_init proc_watermark_scale_factor:file w_file_perms;
|
||||
|
||||
set_prop(vendor_init, vendor_power_prop)
|
||||
|
||||
Reference in New Issue
Block a user