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

Commit 9246d125 authored by Marco Ballesio's avatar Marco Ballesio Committed by Automerger Merge Worker
Browse files

Merge "Ensure CachedAppOptimizerThread cpuset" into rvc-qpr-dev am: 33705e3d am: 80c8fc4b

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

Change-Id: I2823d73013d4a6597faac8d6d5542f1b9de175e7
parents 9902e014 80c8fc4b
Loading
Loading
Loading
Loading
+9 −7
Original line number Original line Diff line number Diff line
@@ -16,8 +16,6 @@


package com.android.server.am;
package com.android.server.am;


import static android.os.Process.THREAD_PRIORITY_FOREGROUND;

import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_COMPACTION;
import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_COMPACTION;
import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_FREEZER;
import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_FREEZER;
import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM;
import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM;
@@ -256,7 +254,7 @@ public final class CachedAppOptimizer {
            ProcessDependencies processDependencies) {
            ProcessDependencies processDependencies) {
        mAm = am;
        mAm = am;
        mCachedAppOptimizerThread = new ServiceThread("CachedAppOptimizerThread",
        mCachedAppOptimizerThread = new ServiceThread("CachedAppOptimizerThread",
            THREAD_PRIORITY_FOREGROUND, true);
            Process.THREAD_GROUP_SYSTEM, true);
        mProcStateThrottle = new HashSet<>();
        mProcStateThrottle = new HashSet<>();
        mProcessDependencies = processDependencies;
        mProcessDependencies = processDependencies;
        mTestCallback = callback;
        mTestCallback = callback;
@@ -280,8 +278,6 @@ public final class CachedAppOptimizer {
            updateProcStateThrottle();
            updateProcStateThrottle();
            updateUseFreezer();
            updateUseFreezer();
        }
        }
        Process.setThreadGroupAndCpuset(mCachedAppOptimizerThread.getThreadId(),
                Process.THREAD_GROUP_SYSTEM);
    }
    }


    /**
    /**
@@ -411,12 +407,15 @@ public final class CachedAppOptimizer {
        mUseCompaction = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
        mUseCompaction = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
                    KEY_USE_COMPACTION, DEFAULT_USE_COMPACTION);
                    KEY_USE_COMPACTION, DEFAULT_USE_COMPACTION);


        if (mUseCompaction) {
        if (mUseCompaction && mCompactionHandler == null) {
            if (!mCachedAppOptimizerThread.isAlive()) {
            if (!mCachedAppOptimizerThread.isAlive()) {
                mCachedAppOptimizerThread.start();
                mCachedAppOptimizerThread.start();
            }
            }


            mCompactionHandler = new MemCompactionHandler();
            mCompactionHandler = new MemCompactionHandler();

            Process.setThreadGroupAndCpuset(mCachedAppOptimizerThread.getThreadId(),
                    Process.THREAD_GROUP_SYSTEM);
        }
        }
    }
    }


@@ -470,13 +469,16 @@ public final class CachedAppOptimizer {
            mUseFreezer = isFreezerSupported();
            mUseFreezer = isFreezerSupported();
        }
        }


        if (mUseFreezer) {
        if (mUseFreezer && mFreezeHandler == null) {
            Slog.d(TAG_AM, "Freezer enabled");
            Slog.d(TAG_AM, "Freezer enabled");
            if (!mCachedAppOptimizerThread.isAlive()) {
            if (!mCachedAppOptimizerThread.isAlive()) {
                mCachedAppOptimizerThread.start();
                mCachedAppOptimizerThread.start();
            }
            }


            mFreezeHandler = new FreezeHandler();
            mFreezeHandler = new FreezeHandler();

            Process.setThreadGroupAndCpuset(mCachedAppOptimizerThread.getThreadId(),
                    Process.THREAD_GROUP_SYSTEM);
        }
        }
    }
    }