From 71936eeec34f60bc7d7f0bd6b170d8aebc81a41f Mon Sep 17 00:00:00 2001 From: Billy Lau Date: Mon, 14 Feb 2022 19:35:35 +0000 Subject: [PATCH] Revert "Compute SHA256 digest of binaries asynchronously post boot." This reverts commit b4ffbd0d3b797a26b4c926104829f70d47884e59. Reason for revert: A memory (b/219478233) and boottime (b/218997173) performance regression was apparently found to be caused by this CL. Change-Id: I753dcfd722f5d46dcb25c4222cdb3c0f5f28651c --- .../android/server/BinaryTransparencyService.java | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/services/core/java/com/android/server/BinaryTransparencyService.java b/services/core/java/com/android/server/BinaryTransparencyService.java index 6c220f6f9503f..91d2f55519a6a 100644 --- a/services/core/java/com/android/server/BinaryTransparencyService.java +++ b/services/core/java/com/android/server/BinaryTransparencyService.java @@ -45,7 +45,6 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.Executors; import java.util.stream.Collectors; /** @@ -370,13 +369,10 @@ public class BinaryTransparencyService extends SystemService { // we are only interested in doing things at PHASE_BOOT_COMPLETED if (phase == PHASE_BOOT_COMPLETED) { + // due to potentially long computation that holds up boot time, apex sha computations + // are deferred to first call Slog.i(TAG, "Boot completed. Getting VBMeta Digest."); getVBMetaDigestInformation(); - - // due to potentially long computation that may hold up boot time, SHA256 computations - // for APEXs and Modules will be executed via threads. - Slog.i(TAG, "Executing APEX & Module digest computations"); - computeApexAndModuleDigests(); } } @@ -386,12 +382,6 @@ public class BinaryTransparencyService extends SystemService { FrameworkStatsLog.write(FrameworkStatsLog.VBMETA_DIGEST_REPORTED, mVbmetaDigest); } - private void computeApexAndModuleDigests() { - // using Executors will allow the computations to be done asynchronously, thus not holding - // up boot time. - Executors.defaultThreadFactory().newThread(() -> updateBinaryMeasurements()).start(); - } - @NonNull private List getInstalledApexs() { List results = new ArrayList();