Merge "Ensure CachedAppOptimizerThread cpuset" into rvc-qpr-dev

This commit is contained in:
Marco Ballesio
2020-07-29 21:11:16 +00:00
committed by Android (Google) Code Review

View File

@@ -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);
} }
} }