This reverts commit 766b425c27.
Appears to be the cause of a 14ms regression in wifi startup time in system server that could be offset here (and potentially other places) by keeping the preload in zygote. A local trial of five showed this revert to take it 111.2ms -> 108ms. The variance is likely too high for this to be significant, however, logically, in the short term, these libraries are being used, and so preloading makes sense. I'll leave further changes to this list to the owners of this list.
Test: boot walleye 5 times w/ and w/o this test, and find small gain in reverting this.
Reason for revert: b/115771598
Change-Id: Ia53dbe8b70900d6f04011b15cbdddf786378fc3b
These are being removed from boot jars.
Test: (sanity) boot device, no longer see 'Class not found for preloading'
Bug: 77307025
Change-Id: I854d3397ff362495ff392c2c4ea8594d1b2449bd
Update preloaded-classes to track libcore class renames.
The class renames may have caused a regression in some
performance metrics, though overall boot time was unaffected.
This is probably because the first user is now paying the cost
of the class initialization and that happens to be in the affected
metrics. There's no reason not to update the preloaded-classes.
Metrics affected:
SystemServerTiming_StartUsageService_avg
SystemServerTiming_StartJobScheduler_avg
SystemServerTiming_StartJobScheduler_avg
Test: build only
Bug: 111055375
Bug: 112595254
Change-Id: If1697918046ec7f186c095eaf68864d075989b9c
These classes cannot be statically preloaded in Zygote.
Change-Id: I7d9f10e634409bedfdd71f8daa43b8e23516638e
Fixes: 109652611
Test: atest com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testCaCertManagement
The tests use the preloaded classes to create the core image and
that leads to UnixChannelFactory being initialized despite the
fact that FileDescriptor is not. This manifests with a null pointer
crash in tests.
Bug: 80495283
Test: m test-art-host
Change-Id: I785104e6c69c605b16357a9557b203b489972261
Data aggregated across 41 dogfood profiles from 10 different
(builds,devices). The threshold for preloaded_classes was 5.
What has changed:
preloaded_classes: 643 added, 1 removed
boot image profile: ~10k methods and classes added.
Test: m, build & boot
Bug: 73313191
Change-Id: Ic2662255081a5166180f4eb894d75b2e5bd76950
Data obtained from dogfood device.
Also updated system server profile.
Bug: 73313191
Test: make and flash sailfish
Change-Id: I9cf059f177a10e940e7cda1d12a8ed7429019c3c
All violations of StrictMode now inherit from one central Violation
class. This unlocks adding penaltyCallback(Violation).
Parsing strings is no longer required to infer what type of violation
something is.
Violation classes have no need to be loaded in Zygote as only developers
opt-in to this feature and will see violations.
Cross-binder thread violation perf test:
before
2872331
2574093
2481208
after
1938227
1742714
2654538
Bug: 64258734
Test: cts-tradefed run cts-dev --module CtsOsTestCases --test
android.os.cts.StrictModeTest
Change-Id: I1971feb03ff77cf297c940cacee62fadb5b8422c
To avoid issues with late initialization, let the holder be
initialized in the zygote.
Bug: 65927416
Test: m
Change-Id: I6f454df46d4c64d295e1f2510793d5087b74fb74
> Using helper methods when writing and reading typed objects
> Moving the tag write outside the action, as it is read outside
the action as well
> Removing usused tags
Test: am instrument -w -e class android.widget.RemoteViewsTest com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner
Bug: 65574108
Change-Id: Iaf51cae6ef9f82b70dc1f19c2f019af40c4424a2
Bug: 64458884
Test: runtest -c com.android.server.NightDisplayServiceTest \
frameworks-services and manually tested Hawaii and London
Change-Id: I052034a4c64eb73c42672215e8847c11e00efeb5
(cherry picked from commit 2ce862c3ed)
Bug: 64458884
Test: runtest -c com.android.server.NightDisplayServiceTest \
frameworks-services and manually tested Hawaii and London
Change-Id: I052034a4c64eb73c42672215e8847c11e00efeb5
- Remove the class as part of removing setsockoptGroupSourceReq from
Os.java
- CtsLibcoreTestCases and CtsLibcoreOjTestCases pass on aosp/master
Bug: 32071916
Test: m
Change-Id: I132190f47cea9f56ec56a824763f7e2b2cfde893
* Pass a full object instead of just a string. I will be adding more
detailed assertions making sure cross-binder violations work.
* AOSP format the test class.
* Update to modern junit.
* Lambda-fy.
* Load ViolationLogger in Zygote.
Bug: 62458734
Test: Test improvments.
Change-Id: I2ddc489f845928154269cad449cbdc7b15dabe8e
Change I686e3c20f5860e58825e1b88f220f9b8c335849c removed the
org.apache.http.legacy library from the bootclasspath which means that
the classes are no longer available to be preloaded by the zygote. This
change removes the classes that cannot be preloaded from the list of
classes to preload.
Bug: 18027885
Test: make droid, flash, check log for "Class not found for preloading"
Change-Id: I57032355d805feb08720c9fcb1076f8e267d73dd
Slow to initialize classes used by camera, instagram, facebook,
etc.
Obtained by go/ag/2877672 and looking at logcat during application
startup for: Camera, Instagram, Maps, and Facebook.
Test: build and flash
Bug: 65493113
Merged-In: Ic7a5641560e3b7de6f4db14f452d567104ce315c
(cherry picked from commit e4e553dab5)
Change-Id: Ie7837df6310496a3d840475aa7aa0ccba876efef
Updated the system server profile, moved to using a profile for the
boot image.
Use cases for obtaining profiles:
Automated CUJ tests
Automated app launches
Manual usage of dialer, navigation, playstore, and play music.
Storage savings:
Boot art+vdex+oat size: 78305556->61539326 (-17MB)
New system server profile has more methods (1.5MB -> 4MB oat) since it
has more coverage from use cases.
Ram savings (sample averages for CUJ test):
Average PSS of 3 runs (~100 samples total):
.Boot_vdex: 9359K -> 9902K
.oat_mmap: 21857K -> 13372K
.Heap: 29779K -> 29483K
.Boot_art: 15736K -> 18096K
.LinearAlloc: 9112K -> 8965K
Total PSS: 85846K -> 79819K (-6MB)
Average pages read from flash (512MB device) for CUJ tests (3 samples):
1508MB -> 1183MB
TODO: Investigate why .art goes up, maybe we are missing some classes
in the profiles.
Bug: 37966211
Bug: 63178181
Test: make and flash
Change-Id: I2031c52eab7b868c59d4c5a46cad50bfbc6cd714
It was determined this would save RAM.
Test: ./generate-preloaded-classes.sh base.txt preloaded-classes-blacklist preloaded-classes-extra > preloaded-classes
Test: Look at the generated file
Bug: 63444758
Change-Id: Ib49b1218e94e4a4a2211071da189cf917559248b
Renamed BootTimingsTraceLog to TimingsTraceLog. It is now used for
boot and shutdown logging.
Added measurements for main stages of shutdown in the system server:
ShutdownTiming: SendShutdownBroadcast took to complete: 734ms
ShutdownTiming: ShutdownActivityManager took to complete: 203ms
ShutdownTiming: ShutdownPackageManager took to complete: 17ms
ShutdownTiming: ShutdownBt took to complete: 533ms
ShutdownTiming: ShutdownRadio took to complete: 534ms
ShutdownTiming: ShutdownNfc took to complete: 1536ms
ShutdownTiming: ShutdownRadios took to complete: 1538ms
ShutdownTiming: ShutdownStorageManager took to complete: 906ms
ShutdownTiming: SystemServerShutdown took to complete: 3918ms
Bug: 64569080
Test: shutdown/reboot and check logs
Change-Id: I636c045852cd1ed6be1c58af6608f70e95756389