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

Commit f1f92ced 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
parent 3a6ced7c
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -162,6 +162,11 @@ final class ProcessList {
    };
    // The actual OOM killer memory levels we are using.
    private final long[] mOomMinFree = new long[mOomAdj.length];
    // Optimal OOM killer memory levels for Low-Tier devices.
    private final long[] mOomMinFreeLowRam = new long[] {
            8192, 13652, 21844,
            27308, 32768, 38228
    };

    private final long mTotalMemMb;

@@ -216,11 +221,18 @@ final class ProcessList {
            Slog.i("XXXXXX", "minfree_adj=" + minfree_adj + " minfree_abs=" + minfree_abs);
        }

        // Overwrite calculated LMK parameters with the low-tier tested/validated values
        boolean is_lowram = SystemProperties.getBoolean("ro.config.low_ram",false);
        for (int i=0; i<mOomAdj.length; i++) {
            if (is_lowram) {
                mOomMinFree[i] = mOomMinFreeLowRam[i];
            }
            else {
                long low = mOomMinFreeLow[i];
                long high = mOomMinFreeHigh[i];
                mOomMinFree[i] = (long)(low + ((high-low)*scale));
            }
        }

        if (minfree_abs >= 0) {
            for (int i=0; i<mOomAdj.length; i++) {