summaryrefslogtreecommitdiff
path: root/compiler/optimizing/code_generator.h
diff options
context:
space:
mode:
author Jiakai Zhang <jiakaiz@google.com> 2024-06-28 14:29:48 +0000
committer Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2024-06-28 17:22:06 +0000
commit36a6e82709b2d3793877f549d0bd4dd75bfb2e2a (patch)
tree70fa9a59ee714806a9003c6b4f843f1ffd74c7df /compiler/optimizing/code_generator.h
parent1d9301bc2ec7a060ba8e8a8a0106feff4a094927 (diff)
Set default concurrency for post-boot reasons to 1.
A field trace shows that the background dexopt job is running when device screen is on. This is not expected. Before finding out why the job scheduler doesn't cancel the job when device screen is on, setting concurrency to 1 mitigates the user-perceptible impact. Note that this is not a proper fix for this issue. In addition, some other field traces show that, even if the device is idle, there are still a lot things going on. For example, a store may be updating apps in the background, and some apps may be syncing data to the cloud. A high dexopt concurrency adds CPU pressure and memory pressure, causing LMKs or timeouts on dexopt itself as well as other things. Setting concurrency to 1 mitigates this problem. Field data showed that, compared to concurrency 1, concurrency 4 reduces the average background dexopt job duration by 2.8 mins, from 8.04 to 5.24 mins (34.8% improvement). However, at the moment, the drawbacks outweigh the benefits. We may revisit this when problems above are addressed. This change also removes the wrong P/H flag read. Bug: 349108670 Bug: 346663133 Change-Id: Id58d9b45532270e277ad59cbf47ef90e5daf9f83
Diffstat (limited to 'compiler/optimizing/code_generator.h')
0 files changed, 0 insertions, 0 deletions