mirror of
https://github.com/Evolution-X-Devices/device_lenovo_zippo
synced 2026-01-27 14:21:16 +00:00
zippo: rootdir: init performance related config in a dedicated init script
* Also cleaning up init.qcom.post_boot.sh Signed-off-by: Lucchetto <lucchetto.tie@live.com> Change-Id: Ib54b0e4feffbbac0ccb34dd5eecaaa302c7c8aa6
This commit is contained in:
@@ -165,6 +165,7 @@ PRODUCT_PACKAGES += \
|
||||
init.qcom.usb.rc \
|
||||
init.recovery.qcom.rc \
|
||||
init.target.rc \
|
||||
init.qcom.performance.rc \
|
||||
ueventd.rc
|
||||
|
||||
# Device-specific settings
|
||||
|
||||
@@ -200,6 +200,14 @@ LOCAL_SRC_FILES := etc/init.target.rc
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.qcom.performance.rc
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := etc/init.qcom.performance.rc
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := ueventd.rc
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
|
||||
@@ -62,31 +62,6 @@ function configure_zram_parameters() {
|
||||
fi
|
||||
}
|
||||
|
||||
function configure_read_ahead_kb_values() {
|
||||
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
|
||||
MemTotal=${MemTotalStr:16:8}
|
||||
|
||||
# Set 128 for <= 3GB &
|
||||
# set 512 for >= 4GB targets.
|
||||
if [ $MemTotal -le 3145728 ]; then
|
||||
echo 128 > /sys/block/mmcblk0/bdi/read_ahead_kb
|
||||
echo 128 > /sys/block/mmcblk0/queue/read_ahead_kb
|
||||
echo 128 > /sys/block/mmcblk0rpmb/bdi/read_ahead_kb
|
||||
echo 128 > /sys/block/mmcblk0rpmb/queue/read_ahead_kb
|
||||
echo 128 > /sys/block/dm-0/queue/read_ahead_kb
|
||||
echo 128 > /sys/block/dm-1/queue/read_ahead_kb
|
||||
echo 128 > /sys/block/dm-2/queue/read_ahead_kb
|
||||
else
|
||||
echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb
|
||||
echo 512 > /sys/block/mmcblk0/queue/read_ahead_kb
|
||||
echo 512 > /sys/block/mmcblk0rpmb/bdi/read_ahead_kb
|
||||
echo 512 > /sys/block/mmcblk0rpmb/queue/read_ahead_kb
|
||||
echo 512 > /sys/block/dm-0/queue/read_ahead_kb
|
||||
echo 512 > /sys/block/dm-1/queue/read_ahead_kb
|
||||
echo 512 > /sys/block/dm-2/queue/read_ahead_kb
|
||||
fi
|
||||
}
|
||||
|
||||
function enable_swap() {
|
||||
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
|
||||
MemTotal=${MemTotalStr:16:8}
|
||||
@@ -135,7 +110,6 @@ low_ram=`getprop ro.config.low_ram`
|
||||
if [ "$ProductName" == "msmnile" ] || [ "$ProductName" == "kona" ] ; then
|
||||
# Enable ZRAM
|
||||
configure_zram_parameters
|
||||
configure_read_ahead_kb_values
|
||||
echo 0 > /proc/sys/vm/page-cluster
|
||||
echo 100 > /proc/sys/vm/swappiness
|
||||
else
|
||||
@@ -235,65 +209,12 @@ else
|
||||
|
||||
configure_zram_parameters
|
||||
|
||||
configure_read_ahead_kb_values
|
||||
|
||||
enable_swap
|
||||
fi
|
||||
}
|
||||
|
||||
function enable_memory_features()
|
||||
{
|
||||
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
|
||||
MemTotal=${MemTotalStr:16:8}
|
||||
|
||||
if [ $MemTotal -le 2097152 ]; then
|
||||
#Enable B service adj transition for 2GB or less memory
|
||||
setprop ro.vendor.qti.sys.fw.bservice_enable true
|
||||
setprop ro.vendor.qti.sys.fw.bservice_limit 5
|
||||
setprop ro.vendor.qti.sys.fw.bservice_age 5000
|
||||
|
||||
#Enable Delay Service Restart
|
||||
setprop ro.vendor.qti.am.reschedule_service true
|
||||
fi
|
||||
}
|
||||
|
||||
function start_hbtp()
|
||||
{
|
||||
# Start the Host based Touch processing but not in the power off mode.
|
||||
bootmode=`getprop ro.bootmode`
|
||||
if [ "charger" != $bootmode ]; then
|
||||
start vendor.hbtp
|
||||
fi
|
||||
}
|
||||
|
||||
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
|
||||
@@ -305,18 +226,6 @@ case "$target" in
|
||||
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
|
||||
|
||||
# configure governor settings for gold cluster
|
||||
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor
|
||||
|
||||
# configure governor settings for gold+ cluster
|
||||
echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor
|
||||
|
||||
# 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
|
||||
@@ -417,33 +326,10 @@ case "$target" in
|
||||
done
|
||||
done
|
||||
|
||||
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" | "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
|
||||
;;
|
||||
esac
|
||||
|
||||
69
rootdir/etc/init.qcom.performance.rc
Normal file
69
rootdir/etc/init.qcom.performance.rc
Normal file
@@ -0,0 +1,69 @@
|
||||
on early-init
|
||||
# Disable EAS
|
||||
write /sys/kernel/debug/sched_features NO_ENERGY_AWARE
|
||||
|
||||
on init
|
||||
# Boot time fs tuning
|
||||
write /sys/block/sda/queue/iosched/slice_idle 0
|
||||
write /sys/block/sda/queue/read_ahead_kb 2048
|
||||
write /sys/block/sda/queue/nr_requests 256
|
||||
write /sys/block/sde/queue/scheduler cfq
|
||||
write /sys/block/sde/queue/iosched/slice_idle 0
|
||||
write /sys/block/sde/queue/read_ahead_kb 2048
|
||||
write /sys/block/sde/queue/nr_requests 256
|
||||
write /sys/block/sdf/queue/scheduler cfq
|
||||
write /sys/block/sdf/queue/iosched/slice_idle 0
|
||||
write /sys/block/sdf/queue/read_ahead_kb 2048
|
||||
write /sys/block/sdf/queue/nr_requests 256
|
||||
write /sys/block/dm-0/queue/read_ahead_kb 2048
|
||||
write /sys/block/dm-1/queue/read_ahead_kb 2048
|
||||
write /sys/block/dm-2/queue/read_ahead_kb 2048
|
||||
write /sys/block/dm-3/queue/read_ahead_kb 2048
|
||||
write /sys/block/dm-4/queue/read_ahead_kb 2048
|
||||
write /sys/block/dm-5/queue/read_ahead_kb 2048
|
||||
write /sys/block/dm-6/queue/read_ahead_kb 2048
|
||||
|
||||
# Disable UFS powersaving
|
||||
write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkgate_enable 0
|
||||
|
||||
# Disable powersaving
|
||||
write /sys/module/lpm_levels/parameters/sleep_disabled 1
|
||||
|
||||
# configure governor settings for little cluster
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor schedutil
|
||||
|
||||
# configure governor settings for big cluster
|
||||
write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor schedutil
|
||||
|
||||
# configure governor settings for big big CPU
|
||||
write /sys/devices/system/cpu/cpu7/cpufreq/scaling_governor schedutil
|
||||
|
||||
on property:sys.boot_completed=1
|
||||
|
||||
# Runtime fs tuning
|
||||
write /sys/block/sda/queue/read_ahead_kb 128
|
||||
write /sys/block/sda/queue/nr_requests 128
|
||||
write /sys/block/sde/queue/read_ahead_kb 128
|
||||
write /sys/block/sde/queue/nr_requests 128
|
||||
write /sys/block/sdf/queue/read_ahead_kb 128
|
||||
write /sys/block/sdf/queue/nr_requests 128
|
||||
write /sys/block/dm-0/queue/read_ahead_kb 128
|
||||
write /sys/block/dm-1/queue/read_ahead_kb 128
|
||||
write /sys/block/dm-2/queue/read_ahead_kb 128
|
||||
write /sys/block/dm-3/queue/read_ahead_kb 128
|
||||
write /sys/block/dm-4/queue/read_ahead_kb 128
|
||||
write /sys/block/dm-5/queue/read_ahead_kb 128
|
||||
write /sys/block/dm-6/queue/read_ahead_kb 128
|
||||
write /sys/block/dm-7/queue/read_ahead_kb 128
|
||||
|
||||
# Enable powersaving
|
||||
write /sys/module/lpm_levels/parameters/sleep_disabled 0
|
||||
|
||||
# Enable UFS powersaving
|
||||
write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkgate_enable 1
|
||||
|
||||
# Enable EAS
|
||||
write /sys/kernel/debug/sched_features ENERGY_AWARE
|
||||
|
||||
#Enable PowerHAL hint processing
|
||||
setprop vendor.powerhal.init 1
|
||||
@@ -33,6 +33,7 @@ import /vendor/etc/init/hw/init.qcom.factory.rc
|
||||
import /vendor/etc/init/hw/init.lenovo.rc
|
||||
import /vendor/etc/init/hw/init.lenovo.usb.configfs.rc
|
||||
import /vendor/etc/init/hw/init.lenovo.common.rc
|
||||
import /vendor/etc/init/hw/init.qcom.performance.rc
|
||||
|
||||
on early-init
|
||||
mount debugfs debugfs /sys/kernel/debug
|
||||
@@ -393,11 +394,6 @@ on post-fs-data
|
||||
mkdir /data/vendor/swap 0770 root system
|
||||
chmod 2770 /data/vendor/swap
|
||||
|
||||
# set aggressive read ahead for dm-0 and dm-1 during boot up
|
||||
write /sys/block/dm-0/queue/read_ahead_kb 2048
|
||||
write /sys/block/dm-1/queue/read_ahead_kb 2048
|
||||
write /sys/block/dm-2/queue/read_ahead_kb 2048
|
||||
|
||||
# Create vpp directory
|
||||
mkdir /data/vendor/vpp 0770 media media
|
||||
|
||||
@@ -485,9 +481,6 @@ on property:persist.vendor.sys.rawdump_copy=0
|
||||
|
||||
on property:sys.boot_completed=1
|
||||
write /dev/kmsg "Boot completed "
|
||||
#Reset read ahead for dm-0 and dm-1 to 512kb
|
||||
write /sys/block/dm-0/queue/read_ahead_kb 512
|
||||
write /sys/block/dm-1/queue/read_ahead_kb 512
|
||||
#WDSP FW boot sysfs node used by STHAL
|
||||
chown media audio /sys/kernel/wdsp0/boot
|
||||
chown media audio /sys/kernel/wcd_cpe0/fw_name
|
||||
|
||||
Reference in New Issue
Block a user