From ce13cb52fe7e64a74b79a164cd7953db32a95983 Mon Sep 17 00:00:00 2001 From: Suren Baghdasaryan Date: Tue, 19 Jun 2018 18:38:12 -0700 Subject: [PATCH] lmkd: Disable memory.stat usage when per-application memcgs are not used Per-application memory.stat files are not available when per-application memcgs are not used (per_app_memcg=false). Disable its usage based on ro.config.per_app_memcg property. minchan: * correct indentation of memory_stat_parse * move per_app_memcg check into memory_stat_parse inside * change low_ram_device to per_app_memcg Bug: 110384555 Test: manual test to see lkmd log message with memory hogger Merged-In: Ib6dd7586d3ef1c64cb04d16e2d2b21fa9c8e6a3a Change-Id: Ib6dd7586d3ef1c64cb04d16e2d2b21fa9c8e6a3a Signed-off-by: Minchan Kim Signed-off-by: Suren Baghdasaryan --- lmkd/lmkd.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lmkd/lmkd.c b/lmkd/lmkd.c index c2487d62d..e7c13e0c8 100644 --- a/lmkd/lmkd.c +++ b/lmkd/lmkd.c @@ -111,6 +111,7 @@ static bool low_ram_device; static bool kill_heaviest_task; static unsigned long kill_timeout_ms; static bool use_minfree_levels; +static bool per_app_memcg; /* data required to handle events */ struct event_handler_info { @@ -472,7 +473,7 @@ static void cmd_procprio(LMKD_CTRL_PACKET packet) { return; } - if (low_ram_device) { + if (per_app_memcg) { if (params.oomadj >= 900) { soft_limit_mult = 0; } else if (params.oomadj >= 800) { @@ -1481,6 +1482,8 @@ int main(int argc __unused, char **argv __unused) { (unsigned long)property_get_int32("ro.lmk.kill_timeout_ms", 0); use_minfree_levels = property_get_bool("ro.lmk.use_minfree_levels", false); + per_app_memcg = + property_get_bool("ro.config.per_app_memcg", low_ram_device); if (!init()) { if (!use_inkernel_interface) {