lmkd: change default lowmem_min_oom_score for low-RAM devices

Experiments on low-RAM devices indicate regressions due to the new low
memory kill reason which cause LMKD to kill too many processes. Change
ro.lmk.lowmem_min_oom_score to disable kills for this reason by default.

Bug: 341257415
Change-Id: Id7137c4c8d888061353b253dc6906d2854e31b1d
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
This commit is contained in:
Suren Baghdasaryan 2024-06-10 18:59:40 +00:00
parent e4d7e850a5
commit 686abc4e2b
2 changed files with 8 additions and 5 deletions

View File

@ -104,8 +104,9 @@ properties:
to kill when memory is critically low. Setting it to kill when memory is critically low. Setting it
to 1001 will prevent any kills for this reason. Min to 1001 will prevent any kills for this reason. Min
acceptable value is 201 (apps up to perceptible). acceptable value is 201 (apps up to perceptible).
Default = 701 (all cached apps excluding the last Default for low-RAM devices = 1001 (disabled), for
active one). high-end devices = 701 (all cached apps excluding
the last active one).
lmkd will set the following Android properties according to current system lmkd will set the following Android properties according to current system
configurations: configurations:

View File

@ -169,6 +169,7 @@ static inline void trace_kill_end() {}
/* ro.lmk.swap_compression_ratio property defaults */ /* ro.lmk.swap_compression_ratio property defaults */
#define DEF_SWAP_COMP_RATIO 1 #define DEF_SWAP_COMP_RATIO 1
/* ro.lmk.lowmem_min_oom_score defaults */ /* ro.lmk.lowmem_min_oom_score defaults */
#define DEF_LOWMEM_MIN_SCORE_LOWRAM (OOM_SCORE_ADJ_MAX + 1)
#define DEF_LOWMEM_MIN_SCORE (PREVIOUS_APP_ADJ + 1) #define DEF_LOWMEM_MIN_SCORE (PREVIOUS_APP_ADJ + 1)
#define LMKD_REINIT_PROP "lmkd.reinit" #define LMKD_REINIT_PROP "lmkd.reinit"
@ -4230,9 +4231,10 @@ static bool update_props() {
GET_LMK_PROPERTY(int64, "direct_reclaim_threshold_ms", DEF_DIRECT_RECL_THRESH_MS); GET_LMK_PROPERTY(int64, "direct_reclaim_threshold_ms", DEF_DIRECT_RECL_THRESH_MS);
swap_compression_ratio = swap_compression_ratio =
GET_LMK_PROPERTY(int64, "swap_compression_ratio", DEF_SWAP_COMP_RATIO); GET_LMK_PROPERTY(int64, "swap_compression_ratio", DEF_SWAP_COMP_RATIO);
lowmem_min_oom_score = lowmem_min_oom_score = std::max(
std::max(PERCEPTIBLE_APP_ADJ + 1, PERCEPTIBLE_APP_ADJ + 1,
GET_LMK_PROPERTY(int32, "lowmem_min_oom_score", DEF_LOWMEM_MIN_SCORE)); GET_LMK_PROPERTY(int32, "lowmem_min_oom_score",
low_ram_device ? DEF_LOWMEM_MIN_SCORE_LOWRAM : DEF_LOWMEM_MIN_SCORE));
reaper.enable_debug(debug_process_killing); reaper.enable_debug(debug_process_killing);