Reland "android: Don't parse /proc/self/maps to prefetch the library."
This reverts commit 733c2818. Reason for reland: The initial change is actually an improvement, see the linked bug. Original change's description: > Revert "android: Don't parse /proc/self/maps to prefetch the library." > > This reverts commit ef6f0fb3. > > Reason for revert: Regressed startup performance. > See https://chromeperf.appspot.com/report?sid=9df0ec76b0fffc74931cc7bdcf44cd4d540f81bb34ccde3571c2211ec8360ee6&start_rev=531281&end_rev=531574 > > Original change's description: > > android: Don't parse /proc/self/maps to prefetch the library. > > > > This commit changes the behavior of the native library prefetcher to > > rely on sentinel symbols rather than parsing /proc/self/maps. > > > > Behavior changes: > > 1. This will make the code no longer prefetch .data (because we don't > > look for it in the mappings), neither the sections that are part of > > the same mapping as .text (for instance, .rodata when using > > ld.gold). This is intended. > > 2. As a consequence, the UMA metric > > LibraryLoader.PercentageOfResidentCodeBeforePrefetch will move, as > > both sides of the ratio will change, and the population will change > > slightly as well (since code is currently not correctly ordered on > > ARM64 and x86_64) > > > > - Removes the reliance on a somewhat brittle parsing of a file > > - Parsing /proc/self/maps costs ~50ms of CPU on a Nexus 5X (on a little > > core, as this is triggered from an AsyncTask) > > - Allows to only fetch part of the native library (in a forthcoming CL) > > > > Rationale: > > Change-Id: I0bb7b28af3c3bd4af5745e2ebcc1fbf283bcc0c1 > > Reviewed-on: https://chromium-review.googlesource.com/874470 > > Commit-Queue: Benoit L <lizeb@chromium.org> > > Reviewed-by: Egor Pasko <pasko@chromium.org> > > Reviewed-by: agrieve <agrieve@chromium.org> > > Reviewed-by: Matthew Cary <mattcary@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#531515} > > TBR=pasko@chromium.org,agrieve@chromium.org,lizeb@chromium.org,mattcary@chromium.org > > Change-Id: I11d7cd7898d5f8d8fbebf391eba5fdaca154c08a > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://chromium-review.googlesource.com/886321 > Reviewed-by: Benoit L <lizeb@chromium.org> > Commit-Queue: Benoit L <lizeb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#531858} TBR=pasko@chromium.org,agrieve@chromium.org,lizeb@chromium.org,mattcary@chromium.org Bug: 805883 Change-Id: Ida889088ec69c09f4dd95dd976174b5532811a53 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/886621 Commit-Queue: Benoit L <lizeb@chromium.org> Reviewed-by:Benoit L <lizeb@chromium.org> Reviewed-by:
Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#531880}
Showing
This diff is collapsed.
Please register or sign in to comment