From 5c039b53d877273b860b060540051fb4d64e342a Mon Sep 17 00:00:00 2001 From: Suren Baghdasaryan Date: Tue, 19 May 2020 12:44:31 -0700 Subject: [PATCH] lmkd: Fix min_score_adj to exclude killing foreground processes In the cases when foreground processes should not be killed min_score_adjust should be set above PERCEPTIBLE_APP_ADJ to prevent such kills. Bug: 155709603 Test: memory stress test with multiple foreground apps Signed-off-by: Suren Baghdasaryan Merged-In: If187654b8001ce843ec6085ccd2042d75a986dae Change-Id: If187654b8001ce843ec6085ccd2042d75a986dae --- lmkd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lmkd.cpp b/lmkd.cpp index db104b4..bb829f1 100644 --- a/lmkd.cpp +++ b/lmkd.cpp @@ -2420,7 +2420,7 @@ static void mp_event_psi(int data, uint32_t events, struct polling_params *poll_ PRId64 "%%)", wmark > WMARK_LOW ? "min" : "low", thrashing); cut_thrashing_limit = true; /* Do not kill perceptible apps because of thrashing */ - min_score_adj = PERCEPTIBLE_APP_ADJ; + min_score_adj = PERCEPTIBLE_APP_ADJ + 1; } else if (reclaim == DIRECT_RECLAIM && thrashing > thrashing_limit) { /* Page cache is thrashing while in direct reclaim (mostly happens on lowram devices) */ kill_reason = DIRECT_RECL_AND_THRASHING; @@ -2428,7 +2428,7 @@ static void mp_event_psi(int data, uint32_t events, struct polling_params *poll_ PRId64 "%%)", thrashing); cut_thrashing_limit = true; /* Do not kill perceptible apps because of thrashing */ - min_score_adj = PERCEPTIBLE_APP_ADJ; + min_score_adj = PERCEPTIBLE_APP_ADJ + 1; } /* Kill a process if necessary */