summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYang Lu2018-05-14 23:59:44 -0500
committerYang Lu2018-05-15 11:54:45 -0500
commit5564f4ee08cf154b2c4f646a2e7f1d5378063dc0 (patch)
treea4bdad700bb8a64c571238e9d912b26637105aee
parent0051684905e093c8c8ac5cc9f861392fea9d0b0c (diff)
downloadplatform-system-core-5564f4ee08cf154b2c4f646a2e7f1d5378063dc0.tar.gz
platform-system-core-5564f4ee08cf154b2c4f646a2e7f1d5378063dc0.tar.xz
platform-system-core-5564f4ee08cf154b2c4f646a2e7f1d5378063dc0.zip
Only log the lmkd state change when the killing really happened.
BUG: b/78603347 Test: statsd test Change-Id: I0345a47e1cd1c79a67103e401a2eb0a7fbe0631b
-rw-r--r--lmkd/lmkd.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/lmkd/lmkd.c b/lmkd/lmkd.c
index 20937cd77..76344b98a 100644
--- a/lmkd/lmkd.c
+++ b/lmkd/lmkd.c
@@ -1026,9 +1026,7 @@ static int find_and_kill_processes(enum vmpressure_level level,
1026 int pages_freed = 0; 1026 int pages_freed = 0;
1027 1027
1028#ifdef LMKD_LOG_STATS 1028#ifdef LMKD_LOG_STATS
1029 if (enable_stats_log) { 1029 bool lmk_state_change_start = false;
1030 stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, LMK_STATE_CHANGE_START);
1031 }
1032#endif 1030#endif
1033 1031
1034 for (i = OOM_SCORE_ADJ_MAX; i >= min_score_adj; i--) { 1032 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,
1043 1041
1044 killed_size = kill_one_process(procp, min_score_adj, level); 1042 killed_size = kill_one_process(procp, min_score_adj, level);
1045 if (killed_size >= 0) { 1043 if (killed_size >= 0) {
1044#ifdef LMKD_LOG_STATS
1045 if (enable_stats_log && !lmk_state_change_start) {
1046 lmk_state_change_start = true;
1047 stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED,
1048 LMK_STATE_CHANGE_START);
1049 }
1050#endif
1051
1046 pages_freed += killed_size; 1052 pages_freed += killed_size;
1047 if (pages_freed >= pages_to_free) { 1053 if (pages_freed >= pages_to_free) {
1048 1054
1049#ifdef LMKD_LOG_STATS 1055#ifdef LMKD_LOG_STATS
1050 if (enable_stats_log) { 1056 if (enable_stats_log && lmk_state_change_start) {
1051 stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, 1057 stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED,
1052 LMK_STATE_CHANGE_STOP); 1058 LMK_STATE_CHANGE_STOP);
1053 } 1059 }
@@ -1059,7 +1065,7 @@ static int find_and_kill_processes(enum vmpressure_level level,
1059 } 1065 }
1060 1066
1061#ifdef LMKD_LOG_STATS 1067#ifdef LMKD_LOG_STATS
1062 if (enable_stats_log) { 1068 if (enable_stats_log && lmk_state_change_start) {
1063 stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, LMK_STATE_CHANGE_STOP); 1069 stats_write_lmk_state_changed(log_ctx, LMK_STATE_CHANGED, LMK_STATE_CHANGE_STOP);
1064 } 1070 }
1065#endif 1071#endif