From b536b236ef78da8fffab3d9281e1771cf312abcb Mon Sep 17 00:00:00 2001 From: Arian Date: Sun, 12 Sep 2021 19:37:27 +0200 Subject: [PATCH] cepheus: rootdir: Move remaining writes from qcom post boot script to init.target.rc In previsions commits we imported all needed changes from post.boost.sh in rest of scripts so this is no longer needed Change-Id: I4a8b4e3922433d9276617bed6177ce3ae7271ada --- device.mk | 1 - rootdir/bin/init.qcom.post_boot.sh | 197 ----------------------------- rootdir/etc/init.qcom.rc | 8 -- rootdir/etc/init.target.rc | 7 + 4 files changed, 7 insertions(+), 206 deletions(-) delete mode 100644 rootdir/bin/init.qcom.post_boot.sh diff --git a/device.mk b/device.mk index 91889fd..1ce8fc9 100644 --- a/device.mk +++ b/device.mk @@ -236,7 +236,6 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/rootdir/etc/init.target.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.target.rc PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/rootdir/bin/init.qcom.post_boot.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.qcom.post_boot.sh \ $(LOCAL_PATH)/rootdir/bin/init.qcom.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.qcom.sh PRODUCT_PACKAGES += \ diff --git a/rootdir/bin/init.qcom.post_boot.sh b/rootdir/bin/init.qcom.post_boot.sh deleted file mode 100644 index 9f38357..0000000 --- a/rootdir/bin/init.qcom.post_boot.sh +++ /dev/null @@ -1,197 +0,0 @@ -#! /vendor/bin/sh - -# Copyright (c) 2012-2013, 2016-2019, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor -# the names of its contributors may be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# - -target=`getprop ro.board.platform` - -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 Low memory killer minfree parameters - # 64 bit will use Google default LMK series. - # - # Set ALMK parameters (usually above the highest minfree values) - # vmpressure_file_min threshold is always set slightly higher - # than LMK minfree's last bin value for all targets. It is calculated as - # vmpressure_file_min = (last bin - second last bin ) + last bin - - # Read adj series and set adj threshold for PPR and ALMK. - # This is required since adj values change from framework to framework. - adj_series=`cat /sys/module/lowmemorykiller/parameters/adj` - adj_1="${adj_series#*,}" - set_almk_ppr_adj="${adj_1%%,*}" - - # PPR and ALMK should not act on HOME adj and below. - # Normalized ADJ for HOME is 6. Hence multiply by 6 - # ADJ score represented as INT in LMK params, actual score can be in decimal - # Hence add 6 considering a worst case of 0.9 conversion to INT (0.9*6). - # For uLMK + Memcg, this will be set as 6 since adj is zero. - set_almk_ppr_adj=$(((set_almk_ppr_adj * 6) + 6)) - echo $set_almk_ppr_adj > /sys/module/lowmemorykiller/parameters/adj_max_shift - - # Calculate vmpressure_file_min as below & set for 64 bit: - # vmpressure_file_min = last_lmk_bin + (last_lmk_bin - last_but_one_lmk_bin) - minfree_series=`cat /sys/module/lowmemorykiller/parameters/minfree` - minfree_1="${minfree_series#*,}" ; rem_minfree_1="${minfree_1%%,*}" - minfree_2="${minfree_1#*,}" ; rem_minfree_2="${minfree_2%%,*}" - minfree_3="${minfree_2#*,}" ; rem_minfree_3="${minfree_3%%,*}" - minfree_4="${minfree_3#*,}" ; rem_minfree_4="${minfree_4%%,*}" - minfree_5="${minfree_4#*,}" - - vmpres_file_min=$((minfree_5 + (minfree_5 - rem_minfree_4))) - echo $vmpres_file_min > /sys/module/lowmemorykiller/parameters/vmpressure_file_min - - # Enable adaptive LMK for all targets & - # use Google default LMK series for all 64-bit targets >=2GB. - echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk - echo 1 > /sys/module/lowmemorykiller/parameters/oom_reaper -} - -case "$target" in - "msmnile") - # Enable EAS - echo 1 > /proc/sys/kernel/sched_energy_aware - - # Setting b.L scheduler parameters - echo 95 95 > /proc/sys/kernel/sched_upmigrate - echo 85 85 > /proc/sys/kernel/sched_downmigrate - - # Configure governor settings for silver cluster - echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor - echo 1 > /sys/devices/system/cpu/cpufreq/policy0/schedutil/iowait_boost_enable - - # Configure governor settings for gold cluster - echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor - echo 1 > /sys/devices/system/cpu/cpufreq/policy4/schedutil/iowait_boost_enable - - # Configure governor settings for gold+ cluster - echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy7/scaling_governor - echo 1 > /sys/devices/system/cpu/cpufreq/policy7/schedutil/iowait_boost_enable - - # 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 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 40 > $cpubw/polling_interval - 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 - done - - for llccbw in $device/*cpu-llcc-ddr-bw/devfreq/*cpu-llcc-ddr-bw - do - echo "bw_hwmon" > $llccbw/governor - echo 40 > $llccbw/polling_interval - 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 - 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 40 > $npubw/polling_interval - 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 0 > /sys/devices/virtual/npu/msm_npu/pwr - done - - # Enable mem_latency governor for L3, LLCC, and DDR scaling - for memlat in $device/*cpu*-lat/devfreq/*cpu*-lat - do - echo "mem_latency" > $memlat/governor - echo 10 > $memlat/polling_interval - echo 400 > $memlat/mem_latency/ratio_ceil - done - - # Enable userspace governor for L3 cdsp nodes - for l3cdsp in $device/*cdsp-cdsp-l3-lat/devfreq/*cdsp-cdsp-l3-lat - do - echo "cdspl3" > $l3cdsp/governor - done - - # Enable compute governor for gold latfloor - for latfloor in $device/*cpu-ddr-latfloor*/devfreq/*cpu-ddr-latfloor* - do - echo "compute" > $latfloor/governor - echo 10 > $latfloor/polling_interval - done - - # Gold L3 ratio ceil - for l3gold in $device/*cpu4-cpu-l3-lat/devfreq/*cpu4-cpu-l3-lat - do - echo 4000 > $l3gold/mem_latency/ratio_ceil - done - - # Prime L3 ratio ceil - for l3prime in $device/*cpu7-cpu-l3-lat/devfreq/*cpu7-cpu-l3-lat - do - echo 20000 > $l3prime/mem_latency/ratio_ceil - done - done - - # Set Memory parameters - configure_memory_parameters - - echo "18432,23040,27648,38708,120640,144768" > /sys/module/lowmemorykiller/parameters/minfree - ;; -esac - -setprop vendor.post_boot.parsed 1 diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index babff71..6566a5b 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -242,7 +242,6 @@ on property:sys.boot_completed=1 chown media audio /sys/kernel/wdsp0/boot - start qcom-post-boot service vendor.qrtr-ns /vendor/bin/qrtr-ns -f class core @@ -286,13 +285,6 @@ service qcom-sh /vendor/bin/init.qcom.sh group root system radio oneshot -service qcom-post-boot /vendor/bin/init.qcom.post_boot.sh - class late_start - user root - group root system wakelock graphics - disabled - oneshot - on property:ro.vendor.ril.mbn_copy_completed=1 write /data/vendor/radio/copy_complete 1 diff --git a/rootdir/etc/init.target.rc b/rootdir/etc/init.target.rc index 2d42261..6200bdc 100644 --- a/rootdir/etc/init.target.rc +++ b/rootdir/etc/init.target.rc @@ -165,6 +165,13 @@ on property:sys.boot_completed=1 write /dev/cpuset/background/cpus 0-1 write /dev/cpuset/system-background/cpus 0-3 write /dev/cpuset/restricted/cpus 0-3 + + # Disable wsf, beacause we are using efk. + # wsf Range : 1..1000 So set to bare minimum value 1. + write /proc/sys/vm/watermark_scale_factor 1 + + # Enable oom_reaper + write /sys/module/lowmemorykiller/parameters/oom_reaper 1 service vendor.pd_mapper /vendor/bin/pd-mapper class core