Loading services/core/java/com/android/server/am/ActivityManagerService.java +33 −18 Original line number Diff line number Diff line Loading @@ -4609,10 +4609,12 @@ public class ActivityManagerService extends IActivityManager.Stub proc.lastMemInfoTime = SystemClock.uptimeMillis(); if (proc.thread != null && proc.setAdj == oomAdj) { // Record this for posterity if the process has been stable. synchronized (mProcessStats.mLock) { proc.baseProcessTracker.addPss(infos[i].getTotalPss(), infos[i].getTotalUss(), infos[i].getTotalRss(), false, ProcessStats.ADD_PSS_EXTERNAL_SLOW, endTime - startTime, proc.pkgList.mPkgList); } for (int ipkg = proc.pkgList.size() - 1; ipkg >= 0; ipkg--) { ProcessStats.ProcessStateHolder holder = proc.pkgList.valueAt(ipkg); FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_MEMORY_STAT_REPORTED, Loading Loading @@ -4669,8 +4671,11 @@ public class ActivityManagerService extends IActivityManager.Stub synchronized (this) { if (proc.thread != null && proc.setAdj == oomAdj) { // Record this for posterity if the process has been stable. synchronized (mProcessStats.mLock) { proc.baseProcessTracker.addPss(pss[i], tmpUss[0], tmpUss[2], false, ProcessStats.ADD_PSS_EXTERNAL, endTime-startTime, proc.pkgList.mPkgList); ProcessStats.ADD_PSS_EXTERNAL, endTime - startTime, proc.pkgList.mPkgList); } for (int ipkg = proc.pkgList.size() - 1; ipkg >= 0; ipkg--) { ProcessStats.ProcessStateHolder holder = proc.pkgList.valueAt(ipkg); FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_MEMORY_STAT_REPORTED, Loading Loading @@ -12107,8 +12112,10 @@ public class ActivityManagerService extends IActivityManager.Stub synchronized (this) { if (r.thread != null && oomAdj == r.getSetAdjWithServices()) { // Record this for posterity if the process has been stable. synchronized (mProcessStats.mLock) { r.baseProcessTracker.addPss(myTotalPss, myTotalUss, myTotalRss, true, reportType, endTime - startTime, r.pkgList.mPkgList); } for (int ipkg = r.pkgList.size() - 1; ipkg >= 0; ipkg--) { ProcessStats.ProcessStateHolder holder = r.pkgList.valueAt(ipkg); FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_MEMORY_STAT_REPORTED, Loading Loading @@ -12713,8 +12720,10 @@ public class ActivityManagerService extends IActivityManager.Stub synchronized (this) { if (r.thread != null && oomAdj == r.getSetAdjWithServices()) { // Record this for posterity if the process has been stable. synchronized (mProcessStats.mLock) { r.baseProcessTracker.addPss(myTotalPss, myTotalUss, myTotalRss, true, reportType, endTime - startTime, r.pkgList.mPkgList); } for (int ipkg = r.pkgList.size() - 1; ipkg >= 0; ipkg--) { ProcessStats.ProcessStateHolder holder = r.pkgList.valueAt(ipkg); FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_MEMORY_STAT_REPORTED, Loading Loading @@ -15927,8 +15936,10 @@ public class ActivityManagerService extends IActivityManager.Stub EventLogTags.writeAmPss(proc.pid, proc.uid, proc.processName, pss * 1024, uss * 1024, swapPss * 1024, rss * 1024, statType, procState, pssDuration); proc.lastPssTime = now; synchronized (mProcessStats.mLock) { proc.baseProcessTracker.addPss( pss, uss, rss, true, statType, pssDuration, proc.pkgList.mPkgList); } for (int ipkg = proc.pkgList.mPkgList.size() - 1; ipkg >= 0; ipkg--) { ProcessStats.ProcessStateHolder holder = proc.pkgList.valueAt(ipkg); FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_MEMORY_STAT_REPORTED, Loading Loading @@ -16289,7 +16300,9 @@ public class ActivityManagerService extends IActivityManager.Stub ApplicationExitInfo.REASON_EXCESSIVE_RESOURCE_USAGE, ApplicationExitInfo.SUBREASON_EXCESSIVE_CPU, true); synchronized (mProcessStats.mLock) { app.baseProcessTracker.reportExcessiveCpu(app.pkgList.mPkgList); } for (int ipkg = app.pkgList.size() - 1; ipkg >= 0; ipkg--) { ProcessStats.ProcessStateHolder holder = app.pkgList.valueAt(ipkg); FrameworkStatsLog.write(FrameworkStatsLog.EXCESSIVE_CPU_USAGE_REPORTED, Loading Loading @@ -16401,6 +16414,7 @@ public class ActivityManagerService extends IActivityManager.Stub } final void setProcessTrackerStateLocked(ProcessRecord proc, int memFactor, long now) { synchronized (mProcessStats.mLock) { if (proc.thread != null && proc.baseProcessTracker != null) { final int procState = proc.getReportedProcState(); if (procState != PROCESS_STATE_NONEXISTENT) { Loading @@ -16409,6 +16423,7 @@ public class ActivityManagerService extends IActivityManager.Stub } } } } @GuardedBy("this") final void updateProcessForegroundLocked(ProcessRecord proc, boolean isForeground, services/core/java/com/android/server/am/ProcessRecord.java +6 −5 Original line number Diff line number Diff line Loading @@ -1079,8 +1079,8 @@ class ProcessRecord implements WindowProcessListener { */ public void resetPackageList(ProcessStatsService tracker) { final int N = pkgList.size(); if (baseProcessTracker != null) { synchronized (tracker.mLock) { if (baseProcessTracker != null) { long now = SystemClock.uptimeMillis(); baseProcessTracker.setState(ProcessStats.STATE_NOTHING, tracker.getMemFactorLocked(), now, pkgList.mPkgList); Loading Loading @@ -1108,10 +1108,11 @@ class ProcessRecord implements WindowProcessListener { holder.state.makeActive(); } } } } else if (N != 1) { pkgList.clear(); pkgList.put(info.packageName, new ProcessStats.ProcessStateHolder(info.longVersionCode)); pkgList.put(info.packageName, new ProcessStats.ProcessStateHolder(info.longVersionCode)); } } } Loading Loading
services/core/java/com/android/server/am/ActivityManagerService.java +33 −18 Original line number Diff line number Diff line Loading @@ -4609,10 +4609,12 @@ public class ActivityManagerService extends IActivityManager.Stub proc.lastMemInfoTime = SystemClock.uptimeMillis(); if (proc.thread != null && proc.setAdj == oomAdj) { // Record this for posterity if the process has been stable. synchronized (mProcessStats.mLock) { proc.baseProcessTracker.addPss(infos[i].getTotalPss(), infos[i].getTotalUss(), infos[i].getTotalRss(), false, ProcessStats.ADD_PSS_EXTERNAL_SLOW, endTime - startTime, proc.pkgList.mPkgList); } for (int ipkg = proc.pkgList.size() - 1; ipkg >= 0; ipkg--) { ProcessStats.ProcessStateHolder holder = proc.pkgList.valueAt(ipkg); FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_MEMORY_STAT_REPORTED, Loading Loading @@ -4669,8 +4671,11 @@ public class ActivityManagerService extends IActivityManager.Stub synchronized (this) { if (proc.thread != null && proc.setAdj == oomAdj) { // Record this for posterity if the process has been stable. synchronized (mProcessStats.mLock) { proc.baseProcessTracker.addPss(pss[i], tmpUss[0], tmpUss[2], false, ProcessStats.ADD_PSS_EXTERNAL, endTime-startTime, proc.pkgList.mPkgList); ProcessStats.ADD_PSS_EXTERNAL, endTime - startTime, proc.pkgList.mPkgList); } for (int ipkg = proc.pkgList.size() - 1; ipkg >= 0; ipkg--) { ProcessStats.ProcessStateHolder holder = proc.pkgList.valueAt(ipkg); FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_MEMORY_STAT_REPORTED, Loading Loading @@ -12107,8 +12112,10 @@ public class ActivityManagerService extends IActivityManager.Stub synchronized (this) { if (r.thread != null && oomAdj == r.getSetAdjWithServices()) { // Record this for posterity if the process has been stable. synchronized (mProcessStats.mLock) { r.baseProcessTracker.addPss(myTotalPss, myTotalUss, myTotalRss, true, reportType, endTime - startTime, r.pkgList.mPkgList); } for (int ipkg = r.pkgList.size() - 1; ipkg >= 0; ipkg--) { ProcessStats.ProcessStateHolder holder = r.pkgList.valueAt(ipkg); FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_MEMORY_STAT_REPORTED, Loading Loading @@ -12713,8 +12720,10 @@ public class ActivityManagerService extends IActivityManager.Stub synchronized (this) { if (r.thread != null && oomAdj == r.getSetAdjWithServices()) { // Record this for posterity if the process has been stable. synchronized (mProcessStats.mLock) { r.baseProcessTracker.addPss(myTotalPss, myTotalUss, myTotalRss, true, reportType, endTime - startTime, r.pkgList.mPkgList); } for (int ipkg = r.pkgList.size() - 1; ipkg >= 0; ipkg--) { ProcessStats.ProcessStateHolder holder = r.pkgList.valueAt(ipkg); FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_MEMORY_STAT_REPORTED, Loading Loading @@ -15927,8 +15936,10 @@ public class ActivityManagerService extends IActivityManager.Stub EventLogTags.writeAmPss(proc.pid, proc.uid, proc.processName, pss * 1024, uss * 1024, swapPss * 1024, rss * 1024, statType, procState, pssDuration); proc.lastPssTime = now; synchronized (mProcessStats.mLock) { proc.baseProcessTracker.addPss( pss, uss, rss, true, statType, pssDuration, proc.pkgList.mPkgList); } for (int ipkg = proc.pkgList.mPkgList.size() - 1; ipkg >= 0; ipkg--) { ProcessStats.ProcessStateHolder holder = proc.pkgList.valueAt(ipkg); FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_MEMORY_STAT_REPORTED, Loading Loading @@ -16289,7 +16300,9 @@ public class ActivityManagerService extends IActivityManager.Stub ApplicationExitInfo.REASON_EXCESSIVE_RESOURCE_USAGE, ApplicationExitInfo.SUBREASON_EXCESSIVE_CPU, true); synchronized (mProcessStats.mLock) { app.baseProcessTracker.reportExcessiveCpu(app.pkgList.mPkgList); } for (int ipkg = app.pkgList.size() - 1; ipkg >= 0; ipkg--) { ProcessStats.ProcessStateHolder holder = app.pkgList.valueAt(ipkg); FrameworkStatsLog.write(FrameworkStatsLog.EXCESSIVE_CPU_USAGE_REPORTED, Loading Loading @@ -16401,6 +16414,7 @@ public class ActivityManagerService extends IActivityManager.Stub } final void setProcessTrackerStateLocked(ProcessRecord proc, int memFactor, long now) { synchronized (mProcessStats.mLock) { if (proc.thread != null && proc.baseProcessTracker != null) { final int procState = proc.getReportedProcState(); if (procState != PROCESS_STATE_NONEXISTENT) { Loading @@ -16409,6 +16423,7 @@ public class ActivityManagerService extends IActivityManager.Stub } } } } @GuardedBy("this") final void updateProcessForegroundLocked(ProcessRecord proc, boolean isForeground,
services/core/java/com/android/server/am/ProcessRecord.java +6 −5 Original line number Diff line number Diff line Loading @@ -1079,8 +1079,8 @@ class ProcessRecord implements WindowProcessListener { */ public void resetPackageList(ProcessStatsService tracker) { final int N = pkgList.size(); if (baseProcessTracker != null) { synchronized (tracker.mLock) { if (baseProcessTracker != null) { long now = SystemClock.uptimeMillis(); baseProcessTracker.setState(ProcessStats.STATE_NOTHING, tracker.getMemFactorLocked(), now, pkgList.mPkgList); Loading Loading @@ -1108,10 +1108,11 @@ class ProcessRecord implements WindowProcessListener { holder.state.makeActive(); } } } } else if (N != 1) { pkgList.clear(); pkgList.put(info.packageName, new ProcessStats.ProcessStateHolder(info.longVersionCode)); pkgList.put(info.packageName, new ProcessStats.ProcessStateHolder(info.longVersionCode)); } } } Loading