Merge "lmkd: count the number of times LMKD wakes up" into main

This commit is contained in:
Treehugger Robot 2024-11-19 17:29:23 +00:00 committed by Gerrit Code Review
commit 6a886a90ae
1 changed files with 13 additions and 1 deletions

View File

@ -247,6 +247,8 @@ static struct psi_threshold psi_thresholds[VMPRESS_LEVEL_COUNT] = {
{ PSI_FULL, 70 }, /* 70ms out of 1sec for complete stall */ { PSI_FULL, 70 }, /* 70ms out of 1sec for complete stall */
}; };
static uint64_t mp_event_count;
static android_log_context ctx; static android_log_context ctx;
static Reaper reaper; static Reaper reaper;
static int reaper_comm_fd[2]; static int reaper_comm_fd[2];
@ -2727,6 +2729,12 @@ static void mp_event_psi(int data, uint32_t events, struct polling_params *poll_
long direct_reclaim_duration_ms; long direct_reclaim_duration_ms;
bool in_kswapd_reclaim; bool in_kswapd_reclaim;
mp_event_count++;
if (debug_process_killing) {
ALOGI("%s memory pressure event #%" PRIu64 " is triggered",
level_name[level], mp_event_count);
}
if (clock_gettime(CLOCK_MONOTONIC_COARSE, &curr_tm) != 0) { if (clock_gettime(CLOCK_MONOTONIC_COARSE, &curr_tm) != 0) {
ALOGE("Failed to get current time"); ALOGE("Failed to get current time");
return; return;
@ -3091,8 +3099,10 @@ static void mp_event_common(int data, uint32_t events, struct polling_params *po
}; };
static struct wakeup_info wi; static struct wakeup_info wi;
mp_event_count++;
if (debug_process_killing) { if (debug_process_killing) {
ALOGI("%s memory pressure event is triggered", level_name[level]); ALOGI("%s memory pressure event #%" PRIu64 " is triggered",
level_name[level], mp_event_count);
} }
if (!use_psi_monitors) { if (!use_psi_monitors) {
@ -3607,6 +3617,8 @@ static void kernel_event_handler(int data __unused, uint32_t events __unused,
} }
static bool init_monitors() { static bool init_monitors() {
ALOGI("Wakeup counter is reset from %" PRIu64 " to 0", mp_event_count);
mp_event_count = 0;
/* Try to use psi monitor first if kernel has it */ /* Try to use psi monitor first if kernel has it */
use_psi_monitors = GET_LMK_PROPERTY(bool, "use_psi", true) && use_psi_monitors = GET_LMK_PROPERTY(bool, "use_psi", true) &&
init_psi_monitors(); init_psi_monitors();