summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dianne Hackborn <hackbod@google.com> 2015-01-06 17:59:58 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2015-01-06 18:00:00 +0000
commit5fe8197fde93f659acbbbdd5dda9c7eac69c468f (patch)
tree0fc60b91911912472ca70b5d3a33d6671815c8fe
parent9ffb53cb1131eeac5c246e7378455bb4b64293f5 (diff)
parentc478cf5185337dcc2c54a074cf194d2d83689021 (diff)
Merge "Fix issue #18907544: Activity manager miscomputed high RAM for 64 bit" into lmp-mr1-dev
-rw-r--r--services/core/java/com/android/server/am/ProcessList.java11
1 files changed, 6 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java
index ae4af5f8171b..c380160c6c2b 100644
--- a/services/core/java/com/android/server/am/ProcessList.java
+++ b/services/core/java/com/android/server/am/ProcessList.java
@@ -235,15 +235,16 @@ final class ProcessList {
Slog.i("XXXXXX", "minfree_adj=" + minfree_adj + " minfree_abs=" + minfree_abs);
}
- if (Build.SUPPORTED_64_BIT_ABIS.length > 0) {
- // Increase the high min-free levels for cached processes for 64-bit
- mOomMinFreeHigh[4] = (mOomMinFreeHigh[4]*3)/2;
- mOomMinFreeHigh[5] = (mOomMinFreeHigh[5]*7)/4;
- }
+ final boolean is64bit = Build.SUPPORTED_64_BIT_ABIS.length > 0;
for (int i=0; i<mOomAdj.length; i++) {
int low = mOomMinFreeLow[i];
int high = mOomMinFreeHigh[i];
+ if (is64bit) {
+ // Increase the high min-free levels for cached processes for 64-bit
+ if (i == 4) high = (high*3)/2;
+ else if (i == 5) high = (high*7)/4;
+ }
mOomMinFree[i] = (int)(low + ((high-low)*scale));
}