From 7154a883f2c7fe401ec7bcf06460d24a089e3a1b Mon Sep 17 00:00:00 2001 From: Yangster-mac Date: Thu, 10 May 2018 16:54:37 -0700 Subject: [PATCH 1/2] Only log the lmkd state change when the killing really happened. Test: statsd test BUG: b/78603347 Change-Id: Ie08b0c3260f2f96b48e9e12c2c88208a3613042d --- lmkd.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lmkd.c b/lmkd.c index 20937cd..e74e2f6 100644 --- a/lmkd.c +++ b/lmkd.c @@ -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,18 @@ 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, FIRST_KILLING_DONE); + } +#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 +1064,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 From 8ce604bd15ebee930b2e64f19565ae08a9f7339c Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Tue, 15 May 2018 03:25:22 +0000 Subject: [PATCH 2/2] Revert "Only log the lmkd state change when the killing really happened." This reverts commit 5e60f88cab8a22d88d76f7fd49f5a6e9cc0d931b. Reason for revert: broke some builds Bug: 78603347 Change-Id: I46bf6face35f5399d7d43146b360c0703eedfb1a --- lmkd.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/lmkd.c b/lmkd.c index e74e2f6..20937cd 100644 --- a/lmkd.c +++ b/lmkd.c @@ -1026,7 +1026,9 @@ static int find_and_kill_processes(enum vmpressure_level level, int pages_freed = 0; #ifdef LMKD_LOG_STATS - bool lmk_state_change_start = false; + if (enable_stats_log) { + stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, LMK_STATE_CHANGE_START); + } #endif for (i = OOM_SCORE_ADJ_MAX; i >= min_score_adj; i--) { @@ -1041,18 +1043,11 @@ 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, FIRST_KILLING_DONE); - } -#endif - pages_freed += killed_size; if (pages_freed >= pages_to_free) { #ifdef LMKD_LOG_STATS - if (enable_stats_log && lmk_state_change_start) { + if (enable_stats_log) { stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, LMK_STATE_CHANGE_STOP); } @@ -1064,7 +1059,7 @@ static int find_and_kill_processes(enum vmpressure_level level, } #ifdef LMKD_LOG_STATS - if (enable_stats_log && lmk_state_change_start) { + if (enable_stats_log) { stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, LMK_STATE_CHANGE_STOP); } #endif