From eff8233ce4e082357c78ff359e4b96c63446a47d 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.c | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/lmkd.c b/lmkd.c index 7be5f82..20937cd 100644 --- a/lmkd.c +++ b/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); } }