diff --git a/libprocessgroup/processgroup.cpp b/libprocessgroup/processgroup.cpp index 9b8248e88..f5d4e1c9e 100644 --- a/libprocessgroup/processgroup.cpp +++ b/libprocessgroup/processgroup.cpp @@ -43,6 +43,9 @@ using namespace std::chrono_literals; +// Uncomment line below use memory cgroups for keeping track of (forked) PIDs +// #define USE_MEMCG 1 + #define MEM_CGROUP_PATH "/dev/memcg/apps" #define MEM_CGROUP_TASKS "/dev/memcg/apps/tasks" #define ACCT_CGROUP_PATH "/acct" @@ -88,6 +91,7 @@ class ProcessGroup { }; static const char* getCgroupRootPath() { +#ifdef USE_MEMCG static const char* cgroup_root_path = NULL; std::call_once(init_path_flag, [&]() { // Check if mem cgroup is mounted, only then check for write-access to avoid @@ -96,6 +100,9 @@ static const char* getCgroupRootPath() { ACCT_CGROUP_PATH : MEM_CGROUP_PATH; }); return cgroup_root_path; +#else + return ACCT_CGROUP_PATH; +#endif } static int convertUidToPath(char *path, size_t size, uid_t uid) diff --git a/rootdir/init.rc b/rootdir/init.rc index 9d8265e90..2880705b3 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -36,8 +36,6 @@ on early-init mount cgroup none /dev/memcg memory # app mem cgroups, used by activity manager, lmkd and zygote mkdir /dev/memcg/apps/ 0755 system system - # cgroup for system_server and surfaceflinger - mkdir /dev/memcg/system 0755 system system start ueventd