From da88b24c9787f8babf790c7fca93e129143b41fe Mon Sep 17 00:00:00 2001 From: Suren Baghdasaryan Date: Thu, 10 May 2018 16:10:56 -0700 Subject: [PATCH] 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: Suren Baghdasaryan --- lmkd/lmkd.c | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/lmkd/lmkd.c b/lmkd/lmkd.c index 7be5f82df..20937cd77 100644 --- a/lmkd/lmkd.c +++ b/lmkd/lmkd.c @@ -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); - } + 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) { - 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 (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 (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); } }