diff options
| author | 2024-03-08 16:31:47 -0800 | |
|---|---|---|
| committer | 2024-03-08 16:40:34 -0800 | |
| commit | 130a908021544a5d294b5c9b3df8255362eeb100 (patch) | |
| tree | 12751d57612816e7cc365c75fc064b36d4bdc22b | |
| parent | d79b6e46b2b5e0ea9701841a7f6b21aa5f522a10 (diff) | |
Note partial/full to OomAdjuster's postUpdateOomAdjInnerLSP
ProcessTrackerState gets updated in applyOomAdjLSP only for partial
updates. Since the new partial update goes through
postUpdateOomAdjInnerLSP to trigger applyOomAdjLSP, it needs to be aware
of what type of update it is.
Fixes: 328570084
Test: atest CtsStatsdAtomHostTestCases:android.cts.statsdatom.perf.ProcStatsTests
Change-Id: Iab1e5bd017e98c492c5d589d0357470e9ee8e2b3
| -rw-r--r-- | services/core/java/com/android/server/am/OomAdjuster.java | 11 | ||||
| -rw-r--r-- | services/core/java/com/android/server/am/OomAdjusterModernImpl.java | 4 |
2 files changed, 8 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/am/OomAdjuster.java b/services/core/java/com/android/server/am/OomAdjuster.java index cd6964ea2631..7f6d62c29648 100644 --- a/services/core/java/com/android/server/am/OomAdjuster.java +++ b/services/core/java/com/android/server/am/OomAdjuster.java @@ -1051,7 +1051,7 @@ public class OomAdjuster { assignCachedAdjIfNecessary(mProcessList.getLruProcessesLOSP()); - postUpdateOomAdjInnerLSP(oomAdjReason, activeUids, now, nowElapsed, oldTime); + postUpdateOomAdjInnerLSP(oomAdjReason, activeUids, now, nowElapsed, oldTime, true); if (startProfiling) { mService.mOomAdjProfiler.oomAdjEnded(); @@ -1073,12 +1073,12 @@ public class OomAdjuster { @GuardedBy({"mService", "mProcLock"}) protected void postUpdateOomAdjInnerLSP(@OomAdjReason int oomAdjReason, ActiveUids activeUids, - long now, long nowElapsed, long oldTime) { + long now, long nowElapsed, long oldTime, boolean doingAll) { mNumNonCachedProcs = 0; mNumCachedHiddenProcs = 0; final boolean allChanged = updateAndTrimProcessLSP(now, nowElapsed, oldTime, activeUids, - oomAdjReason); + oomAdjReason, doingAll); mNumServiceProcs = mNewNumServiceProcs; if (mService.mAlwaysFinishActivities) { @@ -1288,7 +1288,8 @@ public class OomAdjuster { @GuardedBy({"mService", "mProcLock"}) private boolean updateAndTrimProcessLSP(final long now, final long nowElapsed, - final long oldTime, final ActiveUids activeUids, @OomAdjReason int oomAdjReason) { + final long oldTime, final ActiveUids activeUids, @OomAdjReason int oomAdjReason, + boolean doingAll) { ArrayList<ProcessRecord> lruList = mProcessList.getLruProcessesLOSP(); final int numLru = lruList.size(); @@ -1321,7 +1322,7 @@ public class OomAdjuster { if (!app.isKilledByAm() && app.getThread() != null) { // We don't need to apply the update for the process which didn't get computed if (state.getCompletedAdjSeq() == mAdjSeq) { - applyOomAdjLSP(app, true, now, nowElapsed, oomAdjReason); + applyOomAdjLSP(app, doingAll, now, nowElapsed, oomAdjReason); } if (app.isPendingFinishAttach()) { diff --git a/services/core/java/com/android/server/am/OomAdjusterModernImpl.java b/services/core/java/com/android/server/am/OomAdjusterModernImpl.java index dd75bc0442d0..46bdfe892040 100644 --- a/services/core/java/com/android/server/am/OomAdjusterModernImpl.java +++ b/services/core/java/com/android/server/am/OomAdjusterModernImpl.java @@ -820,7 +820,7 @@ public class OomAdjusterModernImpl extends OomAdjuster { computeConnectionsLSP(); assignCachedAdjIfNecessary(mProcessList.getLruProcessesLOSP()); - postUpdateOomAdjInnerLSP(oomAdjReason, mActiveUids, now, nowElapsed, oldTime); + postUpdateOomAdjInnerLSP(oomAdjReason, mActiveUids, now, nowElapsed, oldTime, true); } /** @@ -908,7 +908,7 @@ public class OomAdjusterModernImpl extends OomAdjuster { } } - postUpdateOomAdjInnerLSP(oomAdjReason, activeUids, now, nowElapsed, oldTime); + postUpdateOomAdjInnerLSP(oomAdjReason, activeUids, now, nowElapsed, oldTime, false); } /** |