lmkd: Kill cached apps when thrashing or below low watermark am: 0ac96fcb1a am: 525a34e894 am: cef23553e6

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

Change-Id: Ida941b9333d3775bb09cfe8aed6298c7d0df4dff
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Suren Baghdasaryan 2023-10-11 22:46:34 +00:00 committed by Automerger Merge Worker
commit 2522d30cf5
1 changed files with 10 additions and 0 deletions

View File

@ -93,6 +93,7 @@ static inline void trace_kill_end() {}
#define PROC_STATUS_SWAP_FIELD "VmSwap:" #define PROC_STATUS_SWAP_FIELD "VmSwap:"
#define PERCEPTIBLE_APP_ADJ 200 #define PERCEPTIBLE_APP_ADJ 200
#define PREVIOUS_APP_ADJ 700
/* Android Logger event logtags (see event.logtags) */ /* Android Logger event logtags (see event.logtags) */
#define KILLINFO_LOG_TAG 10195355 #define KILLINFO_LOG_TAG 10195355
@ -2847,6 +2848,15 @@ static void mp_event_psi(int data, uint32_t events, struct polling_params *poll_
} }
} }
/* Check if a cached app should be killed */
if (kill_reason == NONE && wmark < WMARK_HIGH) {
/* TODO: introduce a new kill reason */
kill_reason = LOW_MEM_AND_SWAP;
snprintf(kill_desc, sizeof(kill_desc), "%s watermark is breached",
wmark < WMARK_LOW ? "min" : "low");
min_score_adj = PREVIOUS_APP_ADJ + 1;
}
/* Kill a process if necessary */ /* Kill a process if necessary */
if (kill_reason != NONE) { if (kill_reason != NONE) {
struct kill_info ki = { struct kill_info ki = {