Merge "Make lmkd memory pressure levels configurable." into oc-mr1-dev
am: 85d9063ff7
Change-Id: I572ee0c09741ae534f872e0338f437ced6b065a8
diff --git a/lmkd/lmkd.c b/lmkd/lmkd.c
index c095315..27cc91b 100644
--- a/lmkd/lmkd.c
+++ b/lmkd/lmkd.c
@@ -31,6 +31,7 @@
#include <sys/types.h>
#include <unistd.h>
+#include <cutils/properties.h>
#include <cutils/sockets.h>
#include <log/log.h>
#include <processgroup/processgroup.h>
@@ -72,6 +73,9 @@
#define CRITICAL_INDEX 1
#define MEDIUM_INDEX 0
+static int medium_oomadj;
+static int critical_oomadj;
+
/* control socket listen and data */
static int ctrl_lfd;
static int ctrl_dfd = -1;
@@ -643,7 +647,7 @@
int ret;
unsigned long long evcount;
bool first = true;
- int min_adj_score = is_critical ? 0 : 800;
+ int min_adj_score = is_critical ? critical_oomadj : medium_oomadj;
int index = is_critical ? CRITICAL_INDEX : MEDIUM_INDEX;
ret = read(mpevfd[index], &evcount, sizeof(evcount));
@@ -822,6 +826,9 @@
.sched_priority = 1,
};
+ medium_oomadj = property_get_int32("ro.lmk.medium", 800);
+ critical_oomadj = property_get_int32("ro.lmk.critical", 0);
+
mlockall(MCL_FUTURE);
sched_setscheduler(0, SCHED_FIFO, ¶m);
if (!init())