Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 950cfa54 authored by Chitti Babu Theegala's avatar Chitti Babu Theegala Committed by Steve Kondik
Browse files

lowmemorykiller: Overwrite LMK parameters for low-tier devices

LMK parameters calculated by default algorithm were not optimal for
low-tier devices. Values mentioned here were well tested and
evaluated w.r.t memory and performance for such setups.

Change-Id: I40ed92d204aae6e758028ea1e9bd4ec7226dbe2b

lowmemorykiller: fine-tune LMK parameters for low-tier devices

LMK parameters for low-tier devices are fine-tuned for better
concurrency. Values mentioned here were well tested and
evaluated w.r.t memory and performance for such setups.

Change-Id: I0d547f1ec84863bbaedb68d9aba1ff7aef057e42

[mikeioannina]: Adjust for 5.0

Change-Id: I258b1058d0feadbd153c0068d149db8d8b71c93f
parent 12a0e0d1
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -192,6 +192,11 @@ final class ProcessList {
    };
    // The actual OOM killer memory levels we are using.
    private final int[] mOomMinFree = new int[mOomAdj.length];
    // Optimal OOM killer memory levels for Low-Tier devices.
    private final int[] mOomMinFreeLowRam = new int[] {
            12288, 20478, 32766,
            40962, 49152, 57342
    };

    private final long mTotalMemMb;

@@ -269,11 +274,14 @@ final class ProcessList {
                // More scaling up not required yet
                // mOomMinFree[i] = (3*mOomMinFree[i])/2;

            } else if (ActivityManager.isLowRamDeviceStatic()) {
                // Overwrite calculated LMK parameters with the low-tier tested/validated values
                Slog.i("XXXXXX", "choosing minFree values for lowram");
                mOomMinFree[i] = mOomMinFreeLowRam[i];
            } else {
                Slog.i("XXXXXX", "choosing minFree values for 32 Bit");
                low = mOomMinFreeLow32Bit[i];
                high = mOomMinFreeHigh32Bit[i];

                mOomMinFree[i] = (int)(low + ((high-low)*scale));
            }
        }