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/886321Reviewed-by:Benoit L <lizeb@chromium.org> Commit-Queue: Benoit L <lizeb@chromium.org> Cr-Commit-Position: refs/heads/master@{#531858}
Showing
This diff is collapsed.
Please register or sign in to comment