lmkd: Skip memory.stat usage when per-app memcgs are not used
Initial change to remove memory.stat usage when per-application memcgs are disabled was partially merged into AOSP under the following id: Ib6dd7586d3ef1c64cb04d16e2d2b21fa9c8e6a3a This change adds the missing parts. Bug: 110384555 Change-Id: I1265021b1ede0e68efbf80d6430a959eaf46a69a Merged-In: Ib6dd7586d3ef1c64cb04d16e2d2b21fa9c8e6a3a Signed-off-by: Suren Baghdasaryan <surenb@google.com>
This commit is contained in:
parent
f5b1d14fa8
commit
2f81a77326
33
lmkd.c
33
lmkd.c
|
|
@ -755,24 +755,31 @@ static void memory_stat_parse_line(char *line, struct memory_stat *mem_st) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static int memory_stat_parse(struct memory_stat *mem_st, int pid, uid_t uid) {
|
static int memory_stat_parse(struct memory_stat *mem_st, int pid, uid_t uid) {
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
char buf[PATH_MAX];
|
char buf[PATH_MAX];
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), MEMCG_PROCESS_MEMORY_STAT_PATH, uid, pid);
|
/*
|
||||||
|
* Per-application memory.stat files are available only when
|
||||||
|
* per-application memcgs are enabled.
|
||||||
|
*/
|
||||||
|
if (!per_app_memcg)
|
||||||
|
return -1;
|
||||||
|
|
||||||
fp = fopen(buf, "r");
|
snprintf(buf, sizeof(buf), MEMCG_PROCESS_MEMORY_STAT_PATH, uid, pid);
|
||||||
|
|
||||||
if (fp == NULL) {
|
fp = fopen(buf, "r");
|
||||||
ALOGE("%s open failed: %s", buf, strerror(errno));
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
while (fgets(buf, PAGE_SIZE, fp) != NULL ) {
|
if (fp == NULL) {
|
||||||
memory_stat_parse_line(buf, mem_st);
|
ALOGE("%s open failed: %s", buf, strerror(errno));
|
||||||
}
|
return -1;
|
||||||
fclose(fp);
|
}
|
||||||
|
|
||||||
return 0;
|
while (fgets(buf, PAGE_SIZE, fp) != NULL ) {
|
||||||
|
memory_stat_parse_line(buf, mem_st);
|
||||||
|
}
|
||||||
|
fclose(fp);
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue