From 9abe3b4a741fbdae091bc7876c00c5a00c31a940 Mon Sep 17 00:00:00 2001 From: Alex Buynytskyy Date: Tue, 22 Feb 2022 13:45:34 -0800 Subject: [PATCH] Defer the app data fixup until we are done with app data clearing above. It is already deferred and executed in another thread. This avoids lock contention on clearAppData vs fixupAppData. Bug: 216206114 Test: presubmit Change-Id: Ib85db2789b300211ff780f0423cda07b961efe37 --- .../java/com/android/server/pm/PackageManagerService.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 0602f3e72031c..08fe2dc9ba992 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -2055,8 +2055,6 @@ public class PackageManagerService extends IPackageManager.Stub } } - mPrepareAppDataFuture = mAppDataHelper.fixAppsDataOnBoot(); - // If this is first boot after an OTA, and a normal boot, then // we need to clear code cache directories. // Note that we do *not* clear the application profiles. These remain valid @@ -2077,6 +2075,9 @@ public class PackageManagerService extends IPackageManager.Stub ver.fingerprint = PackagePartitions.FINGERPRINT; } + // Defer the app data fixup until we are done with app data clearing above. + mPrepareAppDataFuture = mAppDataHelper.fixAppsDataOnBoot(); + // Legacy existing (installed before Q) non-system apps to hide // their icons in launcher. if (!mOnlyCore && mIsPreQUpgrade) {