lmkd: choose the heaviest task when killing perceptible processes am: 858e8c6373 am: c71ce3fed4 am: e1bfcc3cac

Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/1619563

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I537cdd9772fb16cc06a62c0865049dea06d5d70e
This commit is contained in:
Suren Baghdasaryan 2021-03-05 20:01:44 +00:00 committed by Automerger Merge Worker
commit 5498a6e98d
1 changed files with 10 additions and 1 deletions

View File

@ -2163,12 +2163,21 @@ static int find_and_kill_process(int min_score_adj, enum kill_reasons kill_reaso
int i;
int killed_size = 0;
bool lmk_state_change_start = false;
bool choose_heaviest_task = kill_heaviest_task;
for (i = OOM_SCORE_ADJ_MAX; i >= min_score_adj; i--) {
struct proc *procp;
if (!choose_heaviest_task && i <= PERCEPTIBLE_APP_ADJ) {
/*
* If we have to choose a perceptible process, choose the heaviest one to
* hopefully minimize the number of victims.
*/
choose_heaviest_task = true;
}
while (true) {
procp = kill_heaviest_task ?
procp = choose_heaviest_task ?
proc_get_heaviest(i) : proc_adj_lru(i);
if (!procp)