Snap for 4796401 from 93d48fe0b6e891d785caefdc02065da58e749c69 to pi-release
Change-Id: I9d5a3d4d48b6944b00e032511151eb1a4a391d4b
This commit is contained in:
commit
f4a8a1aa26
71
lmkd.c
71
lmkd.c
|
|
@ -459,39 +459,41 @@ static void cmd_procprio(LMKD_CTRL_PACKET packet) {
|
||||||
if (use_inkernel_interface)
|
if (use_inkernel_interface)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (params.oomadj >= 900) {
|
if (low_ram_device) {
|
||||||
soft_limit_mult = 0;
|
if (params.oomadj >= 900) {
|
||||||
} else if (params.oomadj >= 800) {
|
soft_limit_mult = 0;
|
||||||
soft_limit_mult = 0;
|
} else if (params.oomadj >= 800) {
|
||||||
} else if (params.oomadj >= 700) {
|
soft_limit_mult = 0;
|
||||||
soft_limit_mult = 0;
|
} else if (params.oomadj >= 700) {
|
||||||
} else if (params.oomadj >= 600) {
|
soft_limit_mult = 0;
|
||||||
// Launcher should be perceptible, don't kill it.
|
} else if (params.oomadj >= 600) {
|
||||||
params.oomadj = 200;
|
// Launcher should be perceptible, don't kill it.
|
||||||
soft_limit_mult = 1;
|
params.oomadj = 200;
|
||||||
} else if (params.oomadj >= 500) {
|
soft_limit_mult = 1;
|
||||||
soft_limit_mult = 0;
|
} else if (params.oomadj >= 500) {
|
||||||
} else if (params.oomadj >= 400) {
|
soft_limit_mult = 0;
|
||||||
soft_limit_mult = 0;
|
} else if (params.oomadj >= 400) {
|
||||||
} else if (params.oomadj >= 300) {
|
soft_limit_mult = 0;
|
||||||
soft_limit_mult = 1;
|
} else if (params.oomadj >= 300) {
|
||||||
} else if (params.oomadj >= 200) {
|
soft_limit_mult = 1;
|
||||||
soft_limit_mult = 2;
|
} else if (params.oomadj >= 200) {
|
||||||
} else if (params.oomadj >= 100) {
|
soft_limit_mult = 2;
|
||||||
soft_limit_mult = 10;
|
} else if (params.oomadj >= 100) {
|
||||||
} else if (params.oomadj >= 0) {
|
soft_limit_mult = 10;
|
||||||
soft_limit_mult = 20;
|
} else if (params.oomadj >= 0) {
|
||||||
} else {
|
soft_limit_mult = 20;
|
||||||
// Persistent processes will have a large
|
} else {
|
||||||
// soft limit 512MB.
|
// Persistent processes will have a large
|
||||||
soft_limit_mult = 64;
|
// soft limit 512MB.
|
||||||
}
|
soft_limit_mult = 64;
|
||||||
|
}
|
||||||
|
|
||||||
snprintf(path, sizeof(path),
|
snprintf(path, sizeof(path),
|
||||||
"/dev/memcg/apps/uid_%d/pid_%d/memory.soft_limit_in_bytes",
|
"/dev/memcg/apps/uid_%d/pid_%d/memory.soft_limit_in_bytes",
|
||||||
params.uid, params.pid);
|
params.uid, params.pid);
|
||||||
snprintf(val, sizeof(val), "%d", soft_limit_mult * EIGHT_MEGA);
|
snprintf(val, sizeof(val), "%d", soft_limit_mult * EIGHT_MEGA);
|
||||||
writefilestring(path, val);
|
writefilestring(path, val);
|
||||||
|
}
|
||||||
|
|
||||||
procp = pid_lookup(params.pid);
|
procp = pid_lookup(params.pid);
|
||||||
if (!procp) {
|
if (!procp) {
|
||||||
|
|
@ -1214,8 +1216,15 @@ static void mp_event_common(int data, uint32_t events __unused) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (min_score_adj == OOM_SCORE_ADJ_MAX + 1)
|
if (min_score_adj == OOM_SCORE_ADJ_MAX + 1) {
|
||||||
|
if (debug_process_killing) {
|
||||||
|
ALOGI("Ignore %s memory pressure event "
|
||||||
|
"(free memory=%ldkB, cache=%ldkB, limit=%ldkB)",
|
||||||
|
level_name[level], other_free * page_k, other_file * page_k,
|
||||||
|
(long)lowmem_minfree[lowmem_targets_size - 1] * page_k);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* Free up enough pages to push over the highest minfree level */
|
/* Free up enough pages to push over the highest minfree level */
|
||||||
pages_to_free = lowmem_minfree[lowmem_targets_size - 1] -
|
pages_to_free = lowmem_minfree[lowmem_targets_size - 1] -
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue