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

Commit f3f20514 authored by Michael Wachenschwanz's avatar Michael Wachenschwanz
Browse files

[5/N] Remove the ability to select the Legacy OomAdjuster impl

Flag: EXEMPT pure refactor
Test: atest MockingOomAdjusterTests
Test: atest ServiceBindingOomAdjPolicyTest
Test: atest OomAdjusterTests
Test: atest ActivityManagerProcessStateTest
Test: atest ActivityManagerFgsBgStartTest
Test: builds and flashes
Bug: 306731120
Change-Id: I0a6d321966bcc67d5ba22734a6363db82d506262
parent f252c797
Loading
Loading
Loading
Loading
+0 −25
Original line number Diff line number Diff line
@@ -168,11 +168,6 @@ final class ActivityManagerConstants extends ContentObserver {
    static final String KEY_TIERED_CACHED_ADJ_DECAY_TIME = "tiered_cached_adj_decay_time";
    static final String KEY_TIERED_CACHED_ADJ_UI_TIER_SIZE = "tiered_cached_adj_ui_tier_size";

    /**
     * Whether or not to enable the new oom adjuster implementation.
     */
    static final String KEY_ENABLE_NEW_OOMADJ = "enable_new_oom_adj";

    /**
     * Whether or not to enable the batching of OOM adjuster calls to LMKD
     */
@@ -261,11 +256,6 @@ final class ActivityManagerConstants extends ContentObserver {
    private static final int TIERED_CACHED_ADJ_MAX_UI_TIER_SIZE = 50;
    private final int mDefaultTieredCachedAdjUiTierSize;

    /**
     * The default value to {@link #KEY_ENABLE_NEW_OOMADJ}.
     */
    private static final boolean DEFAULT_ENABLE_NEW_OOM_ADJ = Flags.oomadjusterCorrectnessRewrite();

    /**
     * The default value to {@link #KEY_ENABLE_BATCHING_OOM_ADJ}.
     */
@@ -1174,9 +1164,6 @@ final class ActivityManagerConstants extends ContentObserver {
    /** @see #KEY_TIERED_CACHED_ADJ_UI_TIER_SIZE */
    public int TIERED_CACHED_ADJ_UI_TIER_SIZE;

    /** @see #KEY_ENABLE_NEW_OOMADJ */
    public boolean ENABLE_NEW_OOMADJ = DEFAULT_ENABLE_NEW_OOM_ADJ;

    /** @see #KEY_ENABLE_BATCHING_OOM_ADJ */
    public boolean ENABLE_BATCHING_OOM_ADJ = DEFAULT_ENABLE_BATCHING_OOM_ADJ;

@@ -1555,8 +1542,6 @@ final class ActivityManagerConstants extends ContentObserver {
    }

    private void loadNativeBootDeviceConfigConstants() {
        ENABLE_NEW_OOMADJ = getDeviceConfigBoolean(KEY_ENABLE_NEW_OOMADJ,
                DEFAULT_ENABLE_NEW_OOM_ADJ);
        ENABLE_BATCHING_OOM_ADJ = getDeviceConfigBoolean(KEY_ENABLE_BATCHING_OOM_ADJ,
                DEFAULT_ENABLE_BATCHING_OOM_ADJ);
    }
@@ -2310,13 +2295,6 @@ final class ActivityManagerConstants extends ContentObserver {
                TIERED_CACHED_ADJ_MAX_UI_TIER_SIZE);
    }

    private void updateEnableNewOomAdj() {
        ENABLE_NEW_OOMADJ = DeviceConfig.getBoolean(
            DeviceConfig.NAMESPACE_ACTIVITY_MANAGER_NATIVE_BOOT,
            KEY_ENABLE_NEW_OOMADJ,
            DEFAULT_ENABLE_NEW_OOM_ADJ);
    }

    private void updateFollowUpOomAdjUpdateWaitDuration() {
        FOLLOW_UP_OOMADJ_UPDATE_WAIT_DURATION = DeviceConfig.getLong(
                DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
@@ -2566,9 +2544,6 @@ final class ActivityManagerConstants extends ContentObserver {
        pw.print("  "); pw.print(KEY_TIERED_CACHED_ADJ_UI_TIER_SIZE);
        pw.print("="); pw.println(TIERED_CACHED_ADJ_UI_TIER_SIZE);

        pw.print("  "); pw.print(KEY_ENABLE_NEW_OOMADJ);
        pw.print("="); pw.println(ENABLE_NEW_OOMADJ);

        pw.print("  "); pw.print(KEY_FREEZER_CUTOFF_ADJ);
        pw.print("="); pw.println(FREEZER_CUTOFF_ADJ);

+0 −2
Original line number Diff line number Diff line
@@ -2422,7 +2422,6 @@ public class ActivityManagerService extends IActivityManager.Stub
        mPhantomProcessList = new PhantomProcessList(this);
        mProcessStateController = new ProcessStateController.Builder(this, mProcessList, activeUids)
                .setHandlerThread(handlerThread)
                .useModernOomAdjuster(mConstants.ENABLE_NEW_OOMADJ)
                .build();
        mOomAdjuster = mProcessStateController.getOomAdjuster();
@@ -2488,7 +2487,6 @@ public class ActivityManagerService extends IActivityManager.Stub
                new LowMemDetector(this));
        mPhantomProcessList = new PhantomProcessList(this);
        mProcessStateController = new ProcessStateController.Builder(this, mProcessList, activeUids)
                .useModernOomAdjuster(mConstants.ENABLE_NEW_OOMADJ)
                .build();
        mOomAdjuster = mProcessStateController.getOomAdjuster();
+2 −4
Original line number Diff line number Diff line
@@ -638,12 +638,10 @@ class ProcessRecord implements WindowProcessListener {
     */
    @VisibleForTesting
    static void updateProcessRecordNodes(@NonNull ProcessRecord app) {
        if (app.mService.mConstants.ENABLE_NEW_OOMADJ) {
        for (int i = 0; i < app.mLinkedNodes.length; i++) {
            app.mLinkedNodes[i] = new ProcessRecordNode(app);
        }
    }
    }

    /**
     * Perform cleanups if the process record is going to be discarded in an early
+4 −17
Original line number Diff line number Diff line
@@ -46,12 +46,8 @@ public class ProcessStateController {

    private ProcessStateController(ActivityManagerService ams, ProcessList processList,
            ActiveUids activeUids, ServiceThread handlerThread,
            CachedAppOptimizer cachedAppOptimizer, OomAdjuster.Injector oomAdjInjector,
            boolean useOomAdjusterModernImpl) {
        mOomAdjuster = useOomAdjusterModernImpl
                ? new OomAdjusterModernImpl(ams, processList, activeUids, handlerThread,
                mGlobalState, cachedAppOptimizer, oomAdjInjector)
                : new OomAdjusterLegacyImpl(ams, processList, activeUids, handlerThread,
            CachedAppOptimizer cachedAppOptimizer, OomAdjuster.Injector oomAdjInjector) {
        mOomAdjuster = new OomAdjusterModernImpl(ams, processList, activeUids, handlerThread,
                mGlobalState, cachedAppOptimizer, oomAdjInjector);
    }

@@ -625,7 +621,6 @@ public class ProcessStateController {
        private ServiceThread mHandlerThread = null;
        private CachedAppOptimizer mCachedAppOptimizer = null;
        private OomAdjuster.Injector mOomAdjInjector = null;
        private boolean mUseOomAdjusterModernImpl = false;

        public Builder(ActivityManagerService ams, ProcessList processList, ActiveUids activeUids) {
            mAms = ams;
@@ -647,7 +642,7 @@ public class ProcessStateController {
                mOomAdjInjector = new OomAdjuster.Injector();
            }
            return new ProcessStateController(mAms, mProcessList, mActiveUids, mHandlerThread,
                    mCachedAppOptimizer, mOomAdjInjector, mUseOomAdjusterModernImpl);
                    mCachedAppOptimizer, mOomAdjInjector);
        }

        /**
@@ -676,13 +671,5 @@ public class ProcessStateController {
            mOomAdjInjector = injector;
            return this;
        }

        /**
         * Set which implementation of OomAdjuster to use.
         */
        public Builder useModernOomAdjuster(boolean use) {
            mUseOomAdjusterModernImpl = use;
            return this;
        }
    }
}
+0 −1
Original line number Diff line number Diff line
@@ -257,7 +257,6 @@ public class MockingOomAdjusterTests {
        mTestCachedAppOptimizer = new TestCachedAppOptimizer(mService);
        mProcessStateController = new ProcessStateController.Builder(mService,
                mService.mProcessList, mActiveUids)
                .useModernOomAdjuster(mService.mConstants.ENABLE_NEW_OOMADJ)
                .setCachedAppOptimizer(mTestCachedAppOptimizer)
                .setOomAdjusterInjector(mInjector)
                .build();