mirror of
https://github.com/Evolution-X-Devices/device_xiaomi_sm6150-common
synced 2026-01-27 12:07:36 +00:00
sm6150-common: rootdir: Set up read ahead values properly
* QCOM sets up for dm-0, dm-1 and dm-2 on boot via init.qcom.rc and for sda* via post boot script. * Also set watermark_scale_factor and watermark_boost_factor basis QCOM recommendation. * Reduce swappiness to 60. * Modify configure_read_ahead_kb_values to set nr_requests value. Signed-off-by: Pranav Vashi <neobuddy89@gmail.com> Signed-off-by: therealmharc <therealmharc@gmail.com>
This commit is contained in:
committed by
therealmharc
parent
e377ac3bc7
commit
c4338f2280
@@ -254,6 +254,35 @@ case "$soc_id" in
|
||||
;;
|
||||
esac
|
||||
|
||||
function configure_read_ahead_kb_values() {
|
||||
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
|
||||
MemTotal=${MemTotalStr:16:8}
|
||||
|
||||
dmpts=$(ls /sys/block/*/queue | grep -e dm -e mmc)
|
||||
|
||||
# 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/bdi/nr_requests
|
||||
echo 128 > /sys/block/mmcblk0rpmb/bdi/read_ahead_kb
|
||||
echo 128 > /sys/block/mmcblk0rpmb/bdi/nr_requests
|
||||
for dm in $dmpts; do
|
||||
echo 128 > $dm/read_ahead_kb
|
||||
echo 128 > $dm/nr_requests
|
||||
done
|
||||
else
|
||||
echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb
|
||||
echo 256 > /sys/block/mmcblk0/bdi/nr_requests
|
||||
echo 512 > /sys/block/mmcblk0rpmb/bdi/read_ahead_kb
|
||||
echo 256 > /sys/block/mmcblk0rpmb/bdi/nr_requests
|
||||
for dm in $dmpts; do
|
||||
echo 512 > $dm/read_ahead_kb
|
||||
echo 256 > $dm/nr_requests
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
function configure_zram_parameters() {
|
||||
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
|
||||
MemTotal=${MemTotalStr:16:8}
|
||||
@@ -296,11 +325,34 @@ function configure_zram_parameters() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Enable ZRAM
|
||||
configure_zram_parameters
|
||||
echo 0 > /proc/sys/vm/page-cluster
|
||||
echo 0 > /sys/module/vmpressure/parameters/allocstall_threshold
|
||||
echo 100 > /proc/sys/vm/swappiness
|
||||
function configure_memory_parameters() {
|
||||
# Swap only 1 page at a time
|
||||
echo 0 > /proc/sys/vm/page-cluster
|
||||
|
||||
# Set allocstall_threshold to 0 for all targets.
|
||||
echo 0 > /sys/module/vmpressure/parameters/allocstall_threshold
|
||||
|
||||
# Set swappiness to 60 for all targets
|
||||
echo 60 > /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
|
||||
|
||||
# Disable the feature of watermark boost for 8G and below device
|
||||
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
|
||||
MemTotal=${MemTotalStr:16:8}
|
||||
|
||||
if [ $MemTotal -le 8388608 ]; then
|
||||
echo 0 > /proc/sys/vm/watermark_boost_factor
|
||||
fi
|
||||
|
||||
# Enable ZRAM
|
||||
configure_zram_parameters
|
||||
configure_read_ahead_kb_values
|
||||
}
|
||||
|
||||
configure_memory_parameters
|
||||
|
||||
# Enable PowerHAL hint processing
|
||||
setprop vendor.powerhal.init 1
|
||||
|
||||
@@ -213,6 +213,11 @@ on post-fs-data
|
||||
chown radio radio /data/vendor/radio/qcril_prebuilt.db
|
||||
chmod 0660 /data/vendor/radio/qcril_prebuilt.db
|
||||
|
||||
# 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
|
||||
|
||||
@@ -225,6 +230,10 @@ on property:sys.boot_completed=1
|
||||
# Enable UFS clock scaling back
|
||||
write /sys/bus/platform/devices/1d84000.ufshc/clkscale_enable 1
|
||||
|
||||
#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
|
||||
|
||||
chown media audio /sys/kernel/wdsp0/boot
|
||||
|
||||
start vendor.qcom-post-boot
|
||||
|
||||
@@ -45,18 +45,6 @@ on init
|
||||
|
||||
write /sys/module/qpnp_rtc/parameters/poweron_alarm 1
|
||||
|
||||
# Boot time fs tuning
|
||||
write /sys/block/sda/queue/iostats 0
|
||||
write /sys/block/sda/queue/scheduler cfq
|
||||
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/iostats 0
|
||||
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
|
||||
|
||||
on fs
|
||||
mount_all --early
|
||||
|
||||
@@ -127,15 +115,6 @@ on boot
|
||||
|
||||
write /sys/block/sda/queue/wbt_lat_usec 75000
|
||||
|
||||
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/sda/queue/iostats 1
|
||||
write /sys/block/sde/queue/read_ahead_kb 128
|
||||
write /sys/block/sde/queue/nr_requests 128
|
||||
write /sys/block/sde/queue/iostats 1
|
||||
|
||||
service vendor.pd_mapper /vendor/bin/pd-mapper
|
||||
class core
|
||||
user system
|
||||
|
||||
Reference in New Issue
Block a user