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

Commit da88b24c authored by Suren Baghdasaryan's avatar Suren Baghdasaryan
Browse files

lmkd: Enable more logs during a kill



Logs that provide information about memory conditions during a process
kill event contain useful information and do not affect device
performance because these events are rare. Enabling them even when
ro.config.debug flag is not set will help in understanding low memory
conditions.

Bug: 79572814

Change-Id: Iae6e9bb612b9a7904ca491de3f1ddc727f24c7e0
Signed-off-by: default avatarSuren Baghdasaryan <surenb@google.com>
parent 232ce729
Loading
Loading
Loading
Loading
+15 −18
Original line number Diff line number Diff line
@@ -1178,10 +1178,8 @@ static void mp_event_common(int data, uint32_t events __unused) {
    }

    if (skip_count > 0) {
        if (debug_process_killing) {
        ALOGI("%lu memory pressure events were skipped after a kill!",
              skip_count);
        }
        skip_count = 0;
    }

@@ -1299,25 +1297,24 @@ do_kill:
                return;
            }
            min_score_adj = level_oomadj[level];
        } else {
            if (debug_process_killing) {
        }

        pages_freed = find_and_kill_processes(level, min_score_adj, pages_to_free);

        if (use_minfree_levels) {
            ALOGI("Killing because cache %ldkB is below "
                  "limit %ldkB for oom_adj %d\n"
                  "   Free memory is %ldkB %s reserved",
                  other_file * page_k, minfree * page_k, min_score_adj,
                  other_free * page_k, other_free >= 0 ? "above" : "below");
        }
        }

        if (debug_process_killing) {
            ALOGI("Trying to free %d pages", pages_to_free);
        }
        pages_freed = find_and_kill_processes(level, min_score_adj, pages_to_free);
        if (pages_freed < pages_to_free) {
            if (debug_process_killing) {
                ALOGI("Unable to free enough memory (pages freed=%d)", pages_freed);
            }
            ALOGI("Unable to free enough memory (pages to free=%d, pages freed=%d)",
                  pages_to_free, pages_freed);
        } else {
            ALOGI("Reclaimed enough memory (pages to free=%d, pages freed=%d)",
                  pages_to_free, pages_freed);
            gettimeofday(&last_report_tm, NULL);
        }
    }