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

Commit fff1af76 authored by Suren Baghdasaryan's avatar Suren Baghdasaryan Committed by Automerger Merge Worker
Browse files

Fix total memtrack Graphics and GL calculations am: 1c5d7631

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13683476

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id287ee6c4f63bdce5920ddc5e78ae06d9fce6e21
parents e0c95c63 1c5d7631
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -10382,6 +10382,8 @@ public class ActivityManagerService extends IActivityManager.Stub
                    }
                    endTime = SystemClock.currentThreadTimeMillis();
                    hasSwapPss = mi.hasSwappedOutPss;
                    memtrackGraphics = mi.getOtherPrivate(Debug.MemoryInfo.OTHER_GRAPHICS);
                    memtrackGl = mi.getOtherPrivate(Debug.MemoryInfo.OTHER_GL);
                } else {
                    reportType = ProcessStats.ADD_PSS_EXTERNAL;
                    startTime = SystemClock.currentThreadTimeMillis();
@@ -10533,6 +10535,8 @@ public class ActivityManagerService extends IActivityManager.Stub
                        if (!Debug.getMemoryInfo(st.pid, info)) {
                            return;
                        }
                        memtrackGraphics = info.getOtherPrivate(Debug.MemoryInfo.OTHER_GRAPHICS);
                        memtrackGl = info.getOtherPrivate(Debug.MemoryInfo.OTHER_GL);
                    } else {
                        long pss = Debug.getPss(st.pid, tmpLong, memtrackTmp);
                        if (pss == 0) {
+6 −4
Original line number Diff line number Diff line
@@ -1327,6 +1327,8 @@ public class AppProfiler {
        // Get a list of Stats that have vsize > 0
        final List<ProcessCpuTracker.Stats> stats = getCpuStats(st -> st.vsize > 0);
        final int statsCount = stats.size();
        long totalMemtrackGraphics = 0;
        long totalMemtrackGl = 0;
        for (int i = 0; i < statsCount; i++) {
            ProcessCpuTracker.Stats st = stats.get(i);
            long pss = Debug.getPss(st.pid, swaptrackTmp, memtrackTmp);
@@ -1337,6 +1339,8 @@ public class AppProfiler {
                    mi.pss = pss;
                    mi.swapPss = swaptrackTmp[1];
                    mi.memtrack = memtrackTmp[0];
                    totalMemtrackGraphics += memtrackTmp[1];
                    totalMemtrackGl += memtrackTmp[2];
                    memInfos.add(mi);
                }
            }
@@ -1345,20 +1349,18 @@ public class AppProfiler {
        long totalPss = 0;
        long totalSwapPss = 0;
        long totalMemtrack = 0;
        long totalMemtrackGraphics = 0;
        long totalMemtrackGl = 0;
        for (int i = 0, size = memInfos.size(); i < size; i++) {
            ProcessMemInfo mi = memInfos.get(i);
            if (mi.pss == 0) {
                mi.pss = Debug.getPss(mi.pid, swaptrackTmp, memtrackTmp);
                mi.swapPss = swaptrackTmp[1];
                mi.memtrack = memtrackTmp[0];
                totalMemtrackGraphics += memtrackTmp[1];
                totalMemtrackGl += memtrackTmp[2];
            }
            totalPss += mi.pss;
            totalSwapPss += mi.swapPss;
            totalMemtrack += mi.memtrack;
            totalMemtrackGraphics += memtrackTmp[1];
            totalMemtrackGl += memtrackTmp[2];
        }
        Collections.sort(memInfos, new Comparator<ProcessMemInfo>() {
            @Override public int compare(ProcessMemInfo lhs, ProcessMemInfo rhs) {