mirror of
https://github.com/PixelExperience-Devices/device_xiaomi_miatoll.git
synced 2025-07-01 08:19:54 +09:00
sm6250-common: Initial variant handler libinit
* This libinit has been made to commonize device variants props handling [dereference23: Adapt for Xiaomi SM6250] Signed-off-by: Alexander Winkowski <dereference23@outlook.com> Change-Id: Iab68ff451ab1d6e861fb4cda4ef07fad3123ecde
This commit is contained in:
committed by
Alexander Winkowski
parent
223d20e8cd
commit
27c7899680
67
libinit/libinit_dalvik_heap.cpp
Normal file
67
libinit/libinit_dalvik_heap.cpp
Normal file
@ -0,0 +1,67 @@
|
||||
/*
|
||||
* Copyright (C) 2021 The LineageOS Project
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <sys/sysinfo.h>
|
||||
#include <libinit_utils.h>
|
||||
|
||||
#include <libinit_dalvik_heap.h>
|
||||
|
||||
#define HEAPSTARTSIZE_PROP "dalvik.vm.heapstartsize"
|
||||
#define HEAPGROWTHLIMIT_PROP "dalvik.vm.heapgrowthlimit"
|
||||
#define HEAPSIZE_PROP "dalvik.vm.heapsize"
|
||||
#define HEAPMINFREE_PROP "dalvik.vm.heapminfree"
|
||||
#define HEAPMAXFREE_PROP "dalvik.vm.heapmaxfree"
|
||||
#define HEAPTARGETUTILIZATION_PROP "dalvik.vm.heaptargetutilization"
|
||||
|
||||
#define GB(b) (b * 1024ull * 1024 * 1024)
|
||||
|
||||
static const dalvik_heap_info_t dalvik_heap_info_6144 = {
|
||||
.heapstartsize = "16m",
|
||||
.heapgrowthlimit = "256m",
|
||||
.heapsize = "512m",
|
||||
.heapminfree = "8m",
|
||||
.heapmaxfree = "32m",
|
||||
.heaptargetutilization = "0.5",
|
||||
};
|
||||
|
||||
static const dalvik_heap_info_t dalvik_heap_info_4096 = {
|
||||
.heapstartsize = "8m",
|
||||
.heapgrowthlimit = "256m",
|
||||
.heapsize = "512m",
|
||||
.heapminfree = "8m",
|
||||
.heapmaxfree = "16m",
|
||||
.heaptargetutilization = "0.6",
|
||||
};
|
||||
|
||||
static const dalvik_heap_info_t dalvik_heap_info_2048 = {
|
||||
.heapstartsize = "8m",
|
||||
.heapgrowthlimit = "192m",
|
||||
.heapsize = "512m",
|
||||
.heapminfree = "512k",
|
||||
.heapmaxfree = "8m",
|
||||
.heaptargetutilization = "0.75",
|
||||
};
|
||||
|
||||
void set_dalvik_heap() {
|
||||
struct sysinfo sys;
|
||||
const dalvik_heap_info_t *dhi;
|
||||
|
||||
sysinfo(&sys);
|
||||
|
||||
if (sys.totalram > GB(5))
|
||||
dhi = &dalvik_heap_info_6144;
|
||||
else if (sys.totalram > GB(3))
|
||||
dhi = &dalvik_heap_info_4096;
|
||||
else
|
||||
dhi = &dalvik_heap_info_2048;
|
||||
|
||||
property_override(HEAPSTARTSIZE_PROP, dhi->heapstartsize);
|
||||
property_override(HEAPGROWTHLIMIT_PROP, dhi->heapgrowthlimit);
|
||||
property_override(HEAPSIZE_PROP, dhi->heapsize);
|
||||
property_override(HEAPTARGETUTILIZATION_PROP, dhi->heaptargetutilization);
|
||||
property_override(HEAPMINFREE_PROP, dhi->heapminfree);
|
||||
property_override(HEAPMAXFREE_PROP, dhi->heapmaxfree);
|
||||
}
|
Reference in New Issue
Block a user