sm6150-common: Setup zram with post-boot script

* This way zram size can be optimized.

Change-Id: Ida4fca8aab88ab5af3dcba166e98cf722bab6614
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: therealmharc <therealmharc@gmail.com>
This commit is contained in:
Pranav Vashi
2024-06-03 13:52:15 +05:30
committed by therealmharc
parent 38fd4cd494
commit 1a99a64259
4 changed files with 49 additions and 18 deletions

View File

@@ -254,6 +254,54 @@ case "$soc_id" in
;;
esac
function configure_zram_parameters() {
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8}
let RamSizeGB="( $MemTotal / 1048576 ) + 1"
let zRamSizeMB="( $RamSizeGB * 1024 ) / 2"
diskSizeUnit=M
# use MB avoid 32 bit overflow
if [ $zRamSizeMB -gt 4096 ]; then
let zRamSizeMB=4096
fi
echo lz4 > /sys/block/zram0/comp_algorithm
if [ -f /sys/block/zram0/disksize ]; then
if [ -f /sys/block/zram0/use_dedup ]; then
echo 1 > /sys/block/zram0/use_dedup
fi
if [ $MemTotal -le 524288 ]; then
echo 402653184 > /sys/block/zram0/disksize
elif [ $MemTotal -le 1048576 ]; then
echo 805306368 > /sys/block/zram0/disksize
else
zramDiskSize=$zRamSizeMB$diskSizeUnit
echo $zramDiskSize > /sys/block/zram0/disksize
fi
# ZRAM may use more memory than it saves if SLAB_STORE_USER
# debug option is enabled.
if [ -e /sys/kernel/slab/zs_handle ]; then
echo 0 > /sys/kernel/slab/zs_handle/store_user
fi
if [ -e /sys/kernel/slab/zspage ]; then
echo 0 > /sys/kernel/slab/zspage/store_user
fi
mkswap /dev/block/zram0
swapon /dev/block/zram0 -p 32758
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
# Enable PowerHAL hint processing
setprop vendor.powerhal.init 1

View File

@@ -1,4 +0,0 @@
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/dev/block/zram0 none swap defaults zramsize=2147483648

View File

@@ -57,10 +57,6 @@ on init
write /sys/block/sde/queue/read_ahead_kb 2048
write /sys/block/sde/queue/nr_requests 256
# ZRAM setup
write /sys/block/zram0/comp_algorithm lz4
write /proc/sys/vm/page-cluster 0
on fs
mount_all --early
@@ -132,14 +128,6 @@ on boot
write /sys/block/sda/queue/wbt_lat_usec 75000
on property:sys.boot_completed=1
# Set allocstall_threshold to 0
# Set swappiness to 60
write /sys/module/vmpressure/parameters/allocstall_threshold 0
write /proc/sys/vm/swappiness 60
# Enable ZRAM on boot_complete
swapon_all /vendor/etc/fstab.zram
# Runtime fs tuning
write /sys/block/sda/queue/read_ahead_kb 128
write /sys/block/sda/queue/nr_requests 128