mirror of
https://github.com/Evolution-X-Devices/device_xiaomi_sm6150-common
synced 2026-01-27 16:26:02 +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
|
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() {
|
function configure_zram_parameters() {
|
||||||
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
|
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
|
||||||
MemTotal=${MemTotalStr:16:8}
|
MemTotal=${MemTotalStr:16:8}
|
||||||
@@ -296,11 +325,34 @@ function configure_zram_parameters() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Enable ZRAM
|
function configure_memory_parameters() {
|
||||||
configure_zram_parameters
|
# Swap only 1 page at a time
|
||||||
echo 0 > /proc/sys/vm/page-cluster
|
echo 0 > /proc/sys/vm/page-cluster
|
||||||
echo 0 > /sys/module/vmpressure/parameters/allocstall_threshold
|
|
||||||
echo 100 > /proc/sys/vm/swappiness
|
# 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
|
# Enable PowerHAL hint processing
|
||||||
setprop vendor.powerhal.init 1
|
setprop vendor.powerhal.init 1
|
||||||
|
|||||||
@@ -213,6 +213,11 @@ on post-fs-data
|
|||||||
chown radio radio /data/vendor/radio/qcril_prebuilt.db
|
chown radio radio /data/vendor/radio/qcril_prebuilt.db
|
||||||
chmod 0660 /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
|
# Create vpp directory
|
||||||
mkdir /data/vendor/vpp 0770 media media
|
mkdir /data/vendor/vpp 0770 media media
|
||||||
|
|
||||||
@@ -225,6 +230,10 @@ on property:sys.boot_completed=1
|
|||||||
# Enable UFS clock scaling back
|
# Enable UFS clock scaling back
|
||||||
write /sys/bus/platform/devices/1d84000.ufshc/clkscale_enable 1
|
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
|
chown media audio /sys/kernel/wdsp0/boot
|
||||||
|
|
||||||
start vendor.qcom-post-boot
|
start vendor.qcom-post-boot
|
||||||
|
|||||||
@@ -45,18 +45,6 @@ on init
|
|||||||
|
|
||||||
write /sys/module/qpnp_rtc/parameters/poweron_alarm 1
|
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
|
on fs
|
||||||
mount_all --early
|
mount_all --early
|
||||||
|
|
||||||
@@ -127,15 +115,6 @@ on boot
|
|||||||
|
|
||||||
write /sys/block/sda/queue/wbt_lat_usec 75000
|
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
|
service vendor.pd_mapper /vendor/bin/pd-mapper
|
||||||
class core
|
class core
|
||||||
user system
|
user system
|
||||||
|
|||||||
Reference in New Issue
Block a user