From 78ba60535294f7853559c5a716a2e9e5bf46c4ab Mon Sep 17 00:00:00 2001 From: Martin Stjernholm Date: Mon, 19 Dec 2022 22:44:37 +0000 Subject: Use a separate timing tracer for DexUseManagerLocal. It shouldn't be compounded with StartPackageManagerService. Bug: 262666863 Test: m droid Change-Id: I0d93450a49e69ffa73634c0ce72da18f1c2dbd7d --- services/java/com/android/server/SystemServer.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'services/java') diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index c68eea8f35b9..ce3ef054b0ce 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -1227,16 +1227,19 @@ public final class SystemServer implements Dumpable { Watchdog.getInstance().resumeWatchingCurrentThread("packagemanagermain"); } + mFirstBoot = mPackageManagerService.isFirstBoot(); + mPackageManager = mSystemContext.getPackageManager(); + t.traceEnd(); + + t.traceBegin("DexUseManagerLocal"); // DexUseManagerLocal needs to be loaded after PackageManagerLocal has been registered, but // before PackageManagerService starts processing binder calls to notifyDexLoad. // DexUseManagerLocal may also call artd, so ensure ArtModuleServiceManager is instantiated. ArtModuleServiceInitializer.setArtModuleServiceManager(new ArtModuleServiceManager()); LocalManagerRegistry.addManager( DexUseManagerLocal.class, DexUseManagerLocal.createInstance()); - - mFirstBoot = mPackageManagerService.isFirstBoot(); - mPackageManager = mSystemContext.getPackageManager(); t.traceEnd(); + if (!mRuntimeRestart && !isFirstBootOrUpgrade()) { FrameworkStatsLog.write(FrameworkStatsLog.BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, FrameworkStatsLog -- cgit v1.2.3-59-g8ed1b