Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5564f4ee authored by Yang Lu's avatar Yang Lu
Browse files

Only log the lmkd state change when the killing really happened.

BUG: b/78603347

Test: statsd test

Change-Id: I0345a47e1cd1c79a67103e401a2eb0a7fbe0631b
parent 00516849
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -1026,9 +1026,7 @@ static int find_and_kill_processes(enum vmpressure_level level,
    int pages_freed = 0;

#ifdef LMKD_LOG_STATS
    if (enable_stats_log) {
        stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, LMK_STATE_CHANGE_START);
    }
    bool lmk_state_change_start = false;
#endif

    for (i = OOM_SCORE_ADJ_MAX; i >= min_score_adj; i--) {
@@ -1043,11 +1041,19 @@ static int find_and_kill_processes(enum vmpressure_level level,

            killed_size = kill_one_process(procp, min_score_adj, level);
            if (killed_size >= 0) {
#ifdef LMKD_LOG_STATS
                if (enable_stats_log && !lmk_state_change_start) {
                    lmk_state_change_start = true;
                    stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED,
                                                  LMK_STATE_CHANGE_START);
                }
#endif

                pages_freed += killed_size;
                if (pages_freed >= pages_to_free) {

#ifdef LMKD_LOG_STATS
                    if (enable_stats_log) {
                    if (enable_stats_log && lmk_state_change_start) {
                        stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED,
                                LMK_STATE_CHANGE_STOP);
                    }
@@ -1059,7 +1065,7 @@ static int find_and_kill_processes(enum vmpressure_level level,
    }

#ifdef LMKD_LOG_STATS
    if (enable_stats_log) {
    if (enable_stats_log && lmk_state_change_start) {
        stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, LMK_STATE_CHANGE_STOP);
    }
#endif