Reduce code page faults on Android Go |
|||||||||||
Issue description
,
Aug 31 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/448ee88604a3cddc8744d033425ee1833feb3113 commit 448ee88604a3cddc8744d033425ee1833feb3113 Author: Benoit Lize <lizeb@chromium.org> Date: Thu Aug 31 13:32:12 2017 android: Collect and log minor/major page faults. Allows to report minor and major page faults in tracing. This is used as part of an effort to reduce major page faults on low-end Android devices. This adds: - Support in ProcessMetrics for minor and major page faults on Linux and Android. - Tracing support, accessible from Java. - Logs the page faults right after native library load. Bug: 758566 Change-Id: I6baf28d63e8f1e510686937eba9c0df2795e27df Reviewed-on: https://chromium-review.googlesource.com/632616 Reviewed-by: Dmitry Skiba <dskiba@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Reviewed-by: Andrew Grieve <agrieve@chromium.org> Commit-Queue: Benoit L <lizeb@chromium.org> Cr-Commit-Position: refs/heads/master@{#498845} [modify] https://crrev.com/448ee88604a3cddc8744d033425ee1833feb3113/base/android/java/src/org/chromium/base/SysUtils.java [modify] https://crrev.com/448ee88604a3cddc8744d033425ee1833feb3113/base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java [modify] https://crrev.com/448ee88604a3cddc8744d033425ee1833feb3113/base/android/sys_utils.cc [modify] https://crrev.com/448ee88604a3cddc8744d033425ee1833feb3113/base/process/internal_linux.h [modify] https://crrev.com/448ee88604a3cddc8744d033425ee1833feb3113/base/process/process_metrics.h [modify] https://crrev.com/448ee88604a3cddc8744d033425ee1833feb3113/base/process/process_metrics_linux.cc [modify] https://crrev.com/448ee88604a3cddc8744d033425ee1833feb3113/base/process/process_metrics_unittest.cc
,
Sep 7 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/72aed26f38a0f5a7be558eb44ba06d7739d77e72 commit 72aed26f38a0f5a7be558eb44ba06d7739d77e72 Author: Benoit Lize <lizeb@chromium.org> Date: Thu Sep 07 15:20:46 2017 android: Speed up function instrumentation. Function instrumentation is used on Android to establish a startup profile. Its performance matters to get a realistic ordering. This CL adds performance tests to the instrumentation, and also improves performance. On a Nexus 5X, here are the timings: Before: [ RUN ] CygprofilePerfTest.CreateEntries_10_10000 *RESULT AddEntryCostPerCall: = 928.1 ns [ RUN ] CygprofilePerfTest.CreateEntries_100_10000 *RESULT AddEntryCostPerCall: = 468.257 ns [ RUN ] CygprofilePerfTest.CreateEntries_10_100000 *RESULT AddEntryCostPerCall: = 1094.441 ns [ RUN ] CygprofilePerfTest.CreateEntries_100_1000000 *RESULT AddEntryCostPerCall: = 927.9688 ns After: [ RUN ] CygprofilePerfTest.CreateEntries_10_10000 *RESULT AddEntryCostPerCall: = 638.81 ns [ RUN ] CygprofilePerfTest.CreateEntries_100_10000 *RESULT AddEntryCostPerCall: = 242.751 ns [ RUN ] CygprofilePerfTest.CreateEntries_10_100000 *RESULT AddEntryCostPerCall: = 694.71 ns [ RUN ] CygprofilePerfTest.CreateEntries_100_1000000 *RESULT AddEntryCostPerCall: = 558.0389 ns This is mostly achieved by removing unnecessary syscalls, from a suggestion by pasko@. Bug: 758566 Change-Id: Icdf5db3d10ec471dcac1de58f377cf9a0681af16 Reviewed-on: https://chromium-review.googlesource.com/654606 Commit-Queue: Benoit L <lizeb@chromium.org> Reviewed-by: Egor Pasko <pasko@chromium.org> Cr-Commit-Position: refs/heads/master@{#500306} [modify] https://crrev.com/72aed26f38a0f5a7be558eb44ba06d7739d77e72/tools/cygprofile/BUILD.gn [modify] https://crrev.com/72aed26f38a0f5a7be558eb44ba06d7739d77e72/tools/cygprofile/cygprofile.cc [modify] https://crrev.com/72aed26f38a0f5a7be558eb44ba06d7739d77e72/tools/cygprofile/cygprofile.h [add] https://crrev.com/72aed26f38a0f5a7be558eb44ba06d7739d77e72/tools/cygprofile/cygprofile_perftest.cc
,
Oct 10 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/97069a2b091f47a172acd0fd278cd1e26d4ba78f commit 97069a2b091f47a172acd0fd278cd1e26d4ba78f Author: Benoit Lize <lizeb@chromium.org> Date: Tue Oct 10 12:18:06 2017 tools: Visualize code page -> object file mappings. From a build directory and the native library, this tool maps each page to components. Output is in JSON, text and HTML format. Bug: 758566 TBR: thakis # Per tools/OWNERS. Change-Id: Ibaa5981fddbfadeaff838ce16333d34f250a1ce0 Reviewed-on: https://chromium-review.googlesource.com/707244 Commit-Queue: Benoit L <lizeb@chromium.org> Reviewed-by: Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#507643} [add] https://crrev.com/97069a2b091f47a172acd0fd278cd1e26d4ba78f/tools/android/native_lib_memory/OWNERS [add] https://crrev.com/97069a2b091f47a172acd0fd278cd1e26d4ba78f/tools/android/native_lib_memory/extract_symbols.py [add] https://crrev.com/97069a2b091f47a172acd0fd278cd1e26d4ba78f/tools/android/native_lib_memory/visualize.css [add] https://crrev.com/97069a2b091f47a172acd0fd278cd1e26d4ba78f/tools/android/native_lib_memory/visualize.html [add] https://crrev.com/97069a2b091f47a172acd0fd278cd1e26d4ba78f/tools/android/native_lib_memory/visualize.js [modify] https://crrev.com/97069a2b091f47a172acd0fd278cd1e26d4ba78f/tools/cygprofile/cyglog_to_orderfile.py
,
Oct 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a3fe293de75a0af9041af6a699590867d8eeea01 commit a3fe293de75a0af9041af6a699590867d8eeea01 Author: Benoit Lize <lizeb@chromium.org> Date: Fri Oct 20 10:24:52 2017 android: Upstream orderfile_generator.py. orderfile_generator.py generates a new orderfile. It was previously downstream. Although this code is now in Chromium, this is not enough to generate an orderfile, as some paths are hardcoded to include the Google repo. Change-Id: Iab311985a601a7ecd916981478892b577d4da8df Bug: 758566 Reviewed-on: https://chromium-review.googlesource.com/725707 Commit-Queue: Benoit L <lizeb@chromium.org> Reviewed-by: Matthew Cary <mattcary@chromium.org> Reviewed-by: Egor Pasko <pasko@chromium.org> Cr-Commit-Position: refs/heads/master@{#510396} [add] https://crrev.com/a3fe293de75a0af9041af6a699590867d8eeea01/tools/cygprofile/orderfile_generator.py [add] https://crrev.com/a3fe293de75a0af9041af6a699590867d8eeea01/tools/cygprofile/orderfile_generator_unittest.py [modify] https://crrev.com/a3fe293de75a0af9041af6a699590867d8eeea01/tools/cygprofile/profile_android_startup.py
,
Oct 20 2017
,
Oct 24 2017
The following revision refers to this bug: https://chrome-internal.googlesource.com/clank/internal/apps/+/d51606b398e4f84163f574fc87efbaee921f4013 commit d51606b398e4f84163f574fc87efbaee921f4013 Author: Benoît Lizé <lizeb@google.com> Date: Tue Oct 24 10:11:38 2017
,
Oct 24 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d913be8e7e03161be7a03e2d6039e1632a31a08f commit d913be8e7e03161be7a03e2d6039e1632a31a08f Author: Benoit Lize <lizeb@chromium.org> Date: Tue Oct 24 13:38:27 2017 android: Fix typo in orderfile_generator.py. Bug: 758566 Change-Id: If31aa4e9f51bb2883a2d350bd216a36484ce559d Reviewed-on: https://chromium-review.googlesource.com/735541 Commit-Queue: Benoit L <lizeb@chromium.org> Commit-Queue: Egor Pasko <pasko@chromium.org> Reviewed-by: Egor Pasko <pasko@chromium.org> Cr-Commit-Position: refs/heads/master@{#511131} [modify] https://crrev.com/d913be8e7e03161be7a03e2d6039e1632a31a08f/tools/cygprofile/orderfile_generator.py
,
Oct 25 2017
The following revision refers to this bug: https://chrome-internal.googlesource.com/clank/internal/apps/+/a6625cf00710a32b439cfb47079f5dbee2264e74 commit a6625cf00710a32b439cfb47079f5dbee2264e74 Author: Benoît Lizé <lizeb@google.com> Date: Wed Oct 25 11:42:03 2017
,
Oct 25 2017
The following revision refers to this bug: https://chrome-internal.googlesource.com/clank/internal/apps/+/7d4c550128c5baeb9722b65e9c8db199d8c4f369 commit 7d4c550128c5baeb9722b65e9c8db199d8c4f369 Author: Benoît Lizé <lizeb@google.com> Date: Wed Oct 25 16:12:10 2017
,
Oct 25 2017
jbudorick: FYI: Benoit just upstreamed most of the orderfile_generator in order to hack a new experimental pipeline on top of it. The goal is to order .text so that the common working set is compact and hence less of .text would be resident in memory. While we are experimenting, it would probably be difficult to convert the thing to recipes. So asking to wait a bit until the dust settles. agrieve: you already know this, this is just a more conveniently invasive way to keep you posted
,
Oct 30 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3fbd2a3e6f6e76327460b30352ca542fc5953c63 commit 3fbd2a3e6f6e76327460b30352ca542fc5953c63 Author: Benoit Lize <lizeb@chromium.org> Date: Mon Oct 30 10:44:47 2017 android: Adds the list of reached symbols to the component->page visualization. This commits adds a new option to extract_symbols.py, --reached-symbols-file, taking a list of reached symbols. It maps this list with the page-level attribution, and represents it visually. Bug: 758566 Change-Id: I76948ea3a2fae983479ab7e0750239a74a971ee9 Reviewed-on: https://chromium-review.googlesource.com/739504 Commit-Queue: Benoit L <lizeb@chromium.org> Reviewed-by: Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#512466} [modify] https://crrev.com/3fbd2a3e6f6e76327460b30352ca542fc5953c63/tools/android/native_lib_memory/extract_symbols.py [modify] https://crrev.com/3fbd2a3e6f6e76327460b30352ca542fc5953c63/tools/android/native_lib_memory/visualize.css [modify] https://crrev.com/3fbd2a3e6f6e76327460b30352ca542fc5953c63/tools/android/native_lib_memory/visualize.html [modify] https://crrev.com/3fbd2a3e6f6e76327460b30352ca542fc5953c63/tools/android/native_lib_memory/visualize.js
,
Oct 30 2017
The following revision refers to this bug: https://chrome-internal.googlesource.com/clank/internal/apps/+/334ede4fce87694f2768685924b006280a0f5d61 commit 334ede4fce87694f2768685924b006280a0f5d61 Author: Egor Pasko <pasko@chromium.org> Date: Mon Oct 30 18:48:16 2017
,
Oct 31 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/93e514e0b0cad3b275c81af25e76832030a949d0 commit 93e514e0b0cad3b275c81af25e76832030a949d0 Author: Egor Pasko <pasko@chromium.org> Date: Tue Oct 31 13:32:36 2017 Rename orderfile_generator to orderfile_generator_backend This is to avoid the presubmit warning 'Module import itself' from the downstream script. The latter is harder to rename because it involves updating bot configurations. Bug: 758566 Change-Id: I55be18de5be2a148c4d8dd7662114a45e52bce40 Reviewed-on: https://chromium-review.googlesource.com/744013 Reviewed-by: Benoit L <lizeb@chromium.org> Commit-Queue: Egor Pasko <pasko@chromium.org> Cr-Commit-Position: refs/heads/master@{#512815} [rename] https://crrev.com/93e514e0b0cad3b275c81af25e76832030a949d0/tools/cygprofile/orderfile_generator_backend.py [rename] https://crrev.com/93e514e0b0cad3b275c81af25e76832030a949d0/tools/cygprofile/orderfile_generator_backend_unittest.py
,
Oct 31 2017
The following revision refers to this bug: https://chrome-internal.googlesource.com/clank/internal/apps/+/e7ae505a0228c387747af452b9a7271cfa2b2d55 commit e7ae505a0228c387747af452b9a7271cfa2b2d55 Author: Egor Pasko <pasko@chromium.org> Date: Tue Oct 31 14:55:23 2017
,
Nov 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/411a34f5e9b7e19c5b8ca4443e20f5d51e3fa8b9 commit 411a34f5e9b7e19c5b8ca4443e20f5d51e3fa8b9 Author: Benoit Lize <lizeb@chromium.org> Date: Wed Nov 22 15:33:20 2017 android: Optionally madvise(MADV_RANDOM) on .text. This CL adds: - "anchor" functions at the beginning and end of .text: these are already used in lightweight_cygprofile.cc, and require the orderfile to be properly constructed, which is the case since https://chromium-review.googlesource.com/753882. These functions are trickier for regular builds, as they use --icf=all. - madvise(MADV_RANDOM): disable kernel readahead on a given range. This makes the reporting logic for code residency clearer, as it actually shows which pages are requested. This has to be called as early as possible and from all processes, and may be enabled in all builds at a later date. This is controlled by a new command-line flag, madvise-random-executable-code. Bug: 758566 Change-Id: I8c7a5ca759b355b9e632d6ad027f8d9cd8fb84e8 Reviewed-on: https://chromium-review.googlesource.com/776895 Commit-Queue: Benoit L <lizeb@chromium.org> Reviewed-by: Camille Lamy <clamy@chromium.org> Reviewed-by: Lei Zhang <thestig@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@{#518639} [modify] https://crrev.com/411a34f5e9b7e19c5b8ca4443e20f5d51e3fa8b9/base/BUILD.gn [modify] https://crrev.com/411a34f5e9b7e19c5b8ca4443e20f5d51e3fa8b9/base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java [add] https://crrev.com/411a34f5e9b7e19c5b8ca4443e20f5d51e3fa8b9/base/android/library_loader/anchor_functions.cc [add] https://crrev.com/411a34f5e9b7e19c5b8ca4443e20f5d51e3fa8b9/base/android/library_loader/anchor_functions.h [modify] https://crrev.com/411a34f5e9b7e19c5b8ca4443e20f5d51e3fa8b9/base/android/library_loader/library_loader_hooks.cc [modify] https://crrev.com/411a34f5e9b7e19c5b8ca4443e20f5d51e3fa8b9/base/android/library_loader/library_prefetcher.cc [modify] https://crrev.com/411a34f5e9b7e19c5b8ca4443e20f5d51e3fa8b9/base/android/library_loader/library_prefetcher.h [modify] https://crrev.com/411a34f5e9b7e19c5b8ca4443e20f5d51e3fa8b9/base/base_switches.cc [modify] https://crrev.com/411a34f5e9b7e19c5b8ca4443e20f5d51e3fa8b9/base/base_switches.h [modify] https://crrev.com/411a34f5e9b7e19c5b8ca4443e20f5d51e3fa8b9/content/browser/gpu/gpu_process_host.cc [modify] https://crrev.com/411a34f5e9b7e19c5b8ca4443e20f5d51e3fa8b9/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/411a34f5e9b7e19c5b8ca4443e20f5d51e3fa8b9/content/browser/utility_process_host_impl.cc
,
Nov 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8e157d49242372de81d6804ffcb2e4be722efaa4 commit 8e157d49242372de81d6804ffcb2e4be722efaa4 Author: Miriam Gershenson <mgersh@chromium.org> Date: Wed Nov 22 16:05:18 2017 Revert "android: Optionally madvise(MADV_RANDOM) on .text." This reverts commit 411a34f5e9b7e19c5b8ca4443e20f5d51e3fa8b9. Reason for revert: Breaks compile on x86 builders: https://build.chromium.org/p/chromium.android/builders/Android%20Cronet%20x86%20Builder%20%28dbg%29/builds/72101, https://build.chromium.org/p/chromium.android/builders/Android%20Cronet%20x86%20Builder/builds/44466 Original change's description: > android: Optionally madvise(MADV_RANDOM) on .text. > > This CL adds: > > - "anchor" functions at the beginning and end of .text: these are > already used in lightweight_cygprofile.cc, and require the orderfile > to be properly constructed, which is the case since > https://chromium-review.googlesource.com/753882. These functions are > trickier for regular builds, as they use --icf=all. > - madvise(MADV_RANDOM): disable kernel readahead on a given range. This makes > the reporting logic for code residency clearer, as it actually shows which > pages are requested. This has to be called as early as possible and from all > processes, and may be enabled in all builds at a later date. This is > controlled by a new command-line flag, madvise-random-executable-code. > > Bug: 758566 > Change-Id: I8c7a5ca759b355b9e632d6ad027f8d9cd8fb84e8 > Reviewed-on: https://chromium-review.googlesource.com/776895 > Commit-Queue: Benoit L <lizeb@chromium.org> > Reviewed-by: Camille Lamy <clamy@chromium.org> > Reviewed-by: Lei Zhang <thestig@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@{#518639} TBR=pasko@chromium.org,thestig@chromium.org,clamy@chromium.org,agrieve@chromium.org,lizeb@chromium.org,mattcary@chromium.org Change-Id: Ia5cb28b8a8f39d3e585162aa2974451d3fd7be5e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 758566 Reviewed-on: https://chromium-review.googlesource.com/786050 Reviewed-by: Miriam Gershenson <mgersh@chromium.org> Commit-Queue: Miriam Gershenson <mgersh@chromium.org> Cr-Commit-Position: refs/heads/master@{#518645} [modify] https://crrev.com/8e157d49242372de81d6804ffcb2e4be722efaa4/base/BUILD.gn [modify] https://crrev.com/8e157d49242372de81d6804ffcb2e4be722efaa4/base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java [delete] https://crrev.com/18bbcf8e4f287a95d99a70436ea2c690c0141791/base/android/library_loader/anchor_functions.cc [delete] https://crrev.com/18bbcf8e4f287a95d99a70436ea2c690c0141791/base/android/library_loader/anchor_functions.h [modify] https://crrev.com/8e157d49242372de81d6804ffcb2e4be722efaa4/base/android/library_loader/library_loader_hooks.cc [modify] https://crrev.com/8e157d49242372de81d6804ffcb2e4be722efaa4/base/android/library_loader/library_prefetcher.cc [modify] https://crrev.com/8e157d49242372de81d6804ffcb2e4be722efaa4/base/android/library_loader/library_prefetcher.h [modify] https://crrev.com/8e157d49242372de81d6804ffcb2e4be722efaa4/base/base_switches.cc [modify] https://crrev.com/8e157d49242372de81d6804ffcb2e4be722efaa4/base/base_switches.h [modify] https://crrev.com/8e157d49242372de81d6804ffcb2e4be722efaa4/content/browser/gpu/gpu_process_host.cc [modify] https://crrev.com/8e157d49242372de81d6804ffcb2e4be722efaa4/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/8e157d49242372de81d6804ffcb2e4be722efaa4/content/browser/utility_process_host_impl.cc
,
Nov 23 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3c35531820609841001af012580f85c0b6f1be73 commit 3c35531820609841001af012580f85c0b6f1be73 Author: Benoit Lize <lizeb@chromium.org> Date: Thu Nov 23 15:32:26 2017 Reland "android: Optionally madvise(MADV_RANDOM) on .text." This reverts commit 8e157d49242372de81d6804ffcb2e4be722efaa4. Changes: Made ARM-only, as it doesn't compile on Android x86, and hasn't been tested outside ARM. Original change's description: > android: Optionally madvise(MADV_RANDOM) on .text. > > This CL adds: > > - "anchor" functions at the beginning and end of .text: these are > already used in lightweight_cygprofile.cc, and require the orderfile > to be properly constructed, which is the case since > https://chromium-review.googlesource.com/753882. These functions are > trickier for regular builds, as they use --icf=all. > - madvise(MADV_RANDOM): disable kernel readahead on a given range. This makes > the reporting logic for code residency clearer, as it actually shows which > pages are requested. This has to be called as early as possible and from all > processes, and may be enabled in all builds at a later date. This is > controlled by a new command-line flag, madvise-random-executable-code. > > Bug: 758566 > Change-Id: I8c7a5ca759b355b9e632d6ad027f8d9cd8fb84e8 > Reviewed-on: https://chromium-review.googlesource.com/776895 > Commit-Queue: Benoit L <lizeb@chromium.org> > Reviewed-by: Camille Lamy <clamy@chromium.org> > Reviewed-by: Lei Zhang <thestig@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@{#518639} TBR=pasko@chromium.org,thestig@chromium.org,mgersh@chromium.org,clamy@chromium.org,agrieve@chromium.org,lizeb@chromium.org,mattcary@chromium.org Change-Id: I8e51971c2abeb1672ce8769ff55d4c3d69f1201a Bug: 758566 Reviewed-on: https://chromium-review.googlesource.com/786031 Reviewed-by: Egor Pasko <pasko@chromium.org> Reviewed-by: Benoit L <lizeb@chromium.org> Commit-Queue: Benoit L <lizeb@chromium.org> Cr-Commit-Position: refs/heads/master@{#518945} [modify] https://crrev.com/3c35531820609841001af012580f85c0b6f1be73/base/BUILD.gn [modify] https://crrev.com/3c35531820609841001af012580f85c0b6f1be73/base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java [add] https://crrev.com/3c35531820609841001af012580f85c0b6f1be73/base/android/library_loader/anchor_functions.cc [add] https://crrev.com/3c35531820609841001af012580f85c0b6f1be73/base/android/library_loader/anchor_functions.h [modify] https://crrev.com/3c35531820609841001af012580f85c0b6f1be73/base/android/library_loader/library_loader_hooks.cc [modify] https://crrev.com/3c35531820609841001af012580f85c0b6f1be73/base/android/library_loader/library_prefetcher.cc [modify] https://crrev.com/3c35531820609841001af012580f85c0b6f1be73/base/android/library_loader/library_prefetcher.h [modify] https://crrev.com/3c35531820609841001af012580f85c0b6f1be73/base/base_switches.cc [modify] https://crrev.com/3c35531820609841001af012580f85c0b6f1be73/base/base_switches.h [modify] https://crrev.com/3c35531820609841001af012580f85c0b6f1be73/content/browser/gpu/gpu_process_host.cc [modify] https://crrev.com/3c35531820609841001af012580f85c0b6f1be73/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/3c35531820609841001af012580f85c0b6f1be73/content/browser/utility_process_host_impl.cc
,
Nov 27 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fb0fedd89d33cf5279ca1dfceab0186773e38a1b commit fb0fedd89d33cf5279ca1dfceab0186773e38a1b Author: Benoit Lize <lizeb@chromium.org> Date: Mon Nov 27 11:15:25 2017 tools/android: Overlay residency data on page -> code mappings. This CL updates the visualization and processing of symbols in the native library to overlay residency data with the code page component attribution. Bug: 758566 Change-Id: Ia6f9c9bec07083da3eaa34c03994ccdc55ea5e5f Reviewed-on: https://chromium-review.googlesource.com/782580 Commit-Queue: Benoit L <lizeb@chromium.org> Reviewed-by: Matthew Cary <mattcary@chromium.org> Reviewed-by: Egor Pasko <pasko@chromium.org> Reviewed-by: agrieve <agrieve@chromium.org> Cr-Commit-Position: refs/heads/master@{#519273} [modify] https://crrev.com/fb0fedd89d33cf5279ca1dfceab0186773e38a1b/base/android/library_loader/library_prefetcher.cc [modify] https://crrev.com/fb0fedd89d33cf5279ca1dfceab0186773e38a1b/tools/android/native_lib_memory/extract_symbols.py [modify] https://crrev.com/fb0fedd89d33cf5279ca1dfceab0186773e38a1b/tools/android/native_lib_memory/process_residency.py [modify] https://crrev.com/fb0fedd89d33cf5279ca1dfceab0186773e38a1b/tools/android/native_lib_memory/visualize.html [modify] https://crrev.com/fb0fedd89d33cf5279ca1dfceab0186773e38a1b/tools/android/native_lib_memory/visualize.js
,
Dec 7 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a1b64f89a0c1d18c384818b4fa227c407029cf72 commit a1b64f89a0c1d18c384818b4fa227c407029cf72 Author: Benoit Lize <lizeb@chromium.org> Date: Thu Dec 07 10:12:50 2017 tools/cygprofile: Add custom URLs and scrolling to profile_android_startup. Allows to collect profiling data from several page loads, and to scroll the screen while doing so. Bug: 758566 Change-Id: I4f0bb8fc167e69dea349dbd4b5ee733193996e41 Reviewed-on: https://chromium-review.googlesource.com/801016 Commit-Queue: Benoit L <lizeb@chromium.org> Reviewed-by: Egor Pasko <pasko@chromium.org> Reviewed-by: Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#522392} [modify] https://crrev.com/a1b64f89a0c1d18c384818b4fa227c407029cf72/tools/android/native_lib_memory/process_residency.py [modify] https://crrev.com/a1b64f89a0c1d18c384818b4fa227c407029cf72/tools/cygprofile/orderfile_generator_backend.py [modify] https://crrev.com/a1b64f89a0c1d18c384818b4fa227c407029cf72/tools/cygprofile/profile_android_startup.py
,
Dec 8 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/96236669dbf109020e839ec68f0be2b0223d8855 commit 96236669dbf109020e839ec68f0be2b0223d8855 Author: Benoit Lize <lizeb@chromium.org> Date: Fri Dec 08 17:49:14 2017 tools/cygprofile: Tool to compare orderfiles. This allows to see whether a given orderfile roll significantly changed the orderfile, and also to check orderfile stability (as a set of symbols). For instance, a typical roll would be: $ python tools/cygprofile/compare_orderfiles.py --from-commit bb04f2f86c5f1880d193d06279e23fb700bd6fb8 [...] Symbols count: first: 190265 second: 190276 New symbols = 33 Removed symbols = 22 Whereas for a more significant one (see crbug.com/792828): $ python tools/cygprofile/compare_orderfiles.py --from-commit 4c1e7a85c8bac01731203990fd4b66a7b5b19dd9 [...] Symbols count: first: 428730 second: 190074 New symbols = 16952 Removed symbols = 255608 Bug: 792828,758566, 776702 Change-Id: I9a3676874218ba651670136774214184c616a792 Reviewed-on: https://chromium-review.googlesource.com/817555 Reviewed-by: Egor Pasko <pasko@chromium.org> Reviewed-by: Matthew Cary <mattcary@chromium.org> Commit-Queue: Benoit L <lizeb@chromium.org> Cr-Commit-Position: refs/heads/master@{#522815} [add] https://crrev.com/96236669dbf109020e839ec68f0be2b0223d8855/tools/cygprofile/compare_orderfiles.py
,
Dec 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/83a0342cea67e1a2cf6f1fc2bb3a178007df7578 commit 83a0342cea67e1a2cf6f1fc2bb3a178007df7578 Author: Benoit Lize <lizeb@chromium.org> Date: Fri Dec 22 16:20:35 2017 tools/cygprofile: Collect multiple profiles. This adds collections of several "phases" for each process, evenly spaced. Additional processing will allow to construct a list of startup only / commonly called functions. Bug: 758566 Change-Id: I644fc80af42451d62a7d5d71dd0506680de80cae Reviewed-on: https://chromium-review.googlesource.com/840021 Commit-Queue: Benoit L <lizeb@chromium.org> Reviewed-by: Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#526004} [modify] https://crrev.com/83a0342cea67e1a2cf6f1fc2bb3a178007df7578/tools/cygprofile/delayed_dumper.cc [modify] https://crrev.com/83a0342cea67e1a2cf6f1fc2bb3a178007df7578/tools/cygprofile/lightweight_cygprofile.cc [modify] https://crrev.com/83a0342cea67e1a2cf6f1fc2bb3a178007df7578/tools/cygprofile/lightweight_cygprofile.h [modify] https://crrev.com/83a0342cea67e1a2cf6f1fc2bb3a178007df7578/tools/cygprofile/process_profiles.py
,
Jan 11 2018
,
Jan 21 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/33e8d99a86f6f6645c13ceb4165b28b3f9b91520 commit 33e8d99a86f6f6645c13ceb4165b28b3f9b91520 Author: Matthew Cary <mattcary@chromium.org> Date: Sun Jan 21 04:51:29 2018 cygprofile: Clean up process_profiles.py. I've found that I've made some errors in producing the combined instrumented builds due to my confusion between symbol names, symbols and offsets. This CL attempts to clean up the orderfile processing by making a more clear line between instrumentation profile output and the orderfile, specifically by dealing with binary offsets rather than symbol names in process_profile. This does not change any of what happens in the orderfile generator, but makes it much easier to use process_profile correctly when generating orderfiles by hand. This is just the first step, the next step will be to make the processing done in cyglog_to_orderfile.py easily accessible as well, combined with having the orderfile do import-and-function-call rather than write-files-and-execute-subprocess. Probably there will also be some rearranging of the current bundle of scripts into a coherent library. Bug: 758566 Change-Id: I0810dc4df994d95dbc411bd73b1a67be0eadb602 Reviewed-on: https://chromium-review.googlesource.com/870052 Commit-Queue: Matthew Cary <mattcary@chromium.org> Reviewed-by: Egor Pasko <pasko@chromium.org> Reviewed-by: Benoit L <lizeb@chromium.org> Cr-Commit-Position: refs/heads/master@{#530772} [modify] https://crrev.com/33e8d99a86f6f6645c13ceb4165b28b3f9b91520/tools/cygprofile/orderfile_generator_backend.py [modify] https://crrev.com/33e8d99a86f6f6645c13ceb4165b28b3f9b91520/tools/cygprofile/process_profiles.py [modify] https://crrev.com/33e8d99a86f6f6645c13ceb4165b28b3f9b91520/tools/cygprofile/process_profiles_unittest.py
,
Jan 22 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0f1f681a563e1aa9dc330c533ffb48f16ba67f3c commit 0f1f681a563e1aa9dc330c533ffb48f16ba67f3c Author: Matthew Cary <mattcary@chromium.org> Date: Mon Jan 22 10:40:51 2018 cygprofile: Add run group processing to process_profiles.py The new orderfile work will require dealing with phased instrumentation (eg, startup vs steady state profiles) as well as combining profiles from multiple instrumentation runs. This extends process_profiles to deal with that consistently with how production orderfiles are generated. The extensive class comment for ProfileManager explains it all in more detail. Bug: 758566 Change-Id: Ia360769d9ffefceea53eeb09f02ba16ae768c539 Reviewed-on: https://chromium-review.googlesource.com/873210 Commit-Queue: Matthew Cary <mattcary@chromium.org> Reviewed-by: Egor Pasko <pasko@chromium.org> Reviewed-by: Benoit L <lizeb@chromium.org> Cr-Commit-Position: refs/heads/master@{#530832} [modify] https://crrev.com/0f1f681a563e1aa9dc330c533ffb48f16ba67f3c/tools/cygprofile/orderfile_generator_backend.py [modify] https://crrev.com/0f1f681a563e1aa9dc330c533ffb48f16ba67f3c/tools/cygprofile/process_profiles.py [modify] https://crrev.com/0f1f681a563e1aa9dc330c533ffb48f16ba67f3c/tools/cygprofile/process_profiles_unittest.py
,
Jan 30 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/58a3eddff4816cd2ad3e50a589a0f280e57f1110 commit 58a3eddff4816cd2ad3e50a589a0f280e57f1110 Author: Matthew Cary <mattcary@chromium.org> Date: Tue Jan 30 13:02:10 2018 cyglog: Phased ordefile processing. Adds analysis of phased lightweight instrumentation, that is instrumentation which records several memory dumps for different phases of program execution, such as startup or interaction. Bug: 758566 Change-Id: Id84b2bd8f5a48865e3175d9164e8a6575d5be819 Reviewed-on: https://chromium-review.googlesource.com/883448 Reviewed-by: Egor Pasko <pasko@chromium.org> Reviewed-by: Benoit L <lizeb@chromium.org> Commit-Queue: Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#532849} [add] https://crrev.com/58a3eddff4816cd2ad3e50a589a0f280e57f1110/tools/cygprofile/phased_orderfile.py [add] https://crrev.com/58a3eddff4816cd2ad3e50a589a0f280e57f1110/tools/cygprofile/phased_orderfile_unittest.py [modify] https://crrev.com/58a3eddff4816cd2ad3e50a589a0f280e57f1110/tools/cygprofile/process_profiles.py [modify] https://crrev.com/58a3eddff4816cd2ad3e50a589a0f280e57f1110/tools/cygprofile/process_profiles_unittest.py
,
Jan 30 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/93f3cab38ca6017ff3c3c16f1d8769b006c858f7 commit 93f3cab38ca6017ff3c3c16f1d8769b006c858f7 Author: Benoit Lize <lizeb@chromium.org> Date: Tue Jan 30 15:16:20 2018 android: Add the start/end of ordered text markers to the orderfile. A forthcoming CL will add the symbols to the binary, but will also enforce their ordering, so the orderfile has to contain these symbols first. Adding the symbols early is not an issue, as linkers ignore unkown entries. Bug: 758566 Change-Id: I6580738f754067ce74acecd5deb796da246bf57d Reviewed-on: https://chromium-review.googlesource.com/893142 Reviewed-by: Matthew Cary <mattcary@chromium.org> Reviewed-by: Egor Pasko <pasko@chromium.org> Commit-Queue: Benoit L <lizeb@chromium.org> Cr-Commit-Position: refs/heads/master@{#532878} [modify] https://crrev.com/93f3cab38ca6017ff3c3c16f1d8769b006c858f7/tools/cygprofile/patch_orderfile.py
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0162a9b1e7d6902134b1d4d12a8aa33722a84b8d commit 0162a9b1e7d6902134b1d4d12a8aa33722a84b8d Author: Matthew Cary <mattcary@chromium.org> Date: Wed Feb 07 13:06:13 2018 cygprofile: Change error logging to IMMEDIATE_CRASH. If this error is hit during static initialization --- which is probable if the sentinel functions are out-of-order, calling LOG(FATAL) can deadlock. Instead we crash and hope that the system will give some clue to the problem. Bug: 758566 Change-Id: Ia48eaf9d636a83864073375977b41a8dd6f1dfe2 Reviewed-on: https://chromium-review.googlesource.com/904243 Commit-Queue: Matthew Cary <mattcary@chromium.org> Reviewed-by: Benoit L <lizeb@chromium.org> Cr-Commit-Position: refs/heads/master@{#534992} [modify] https://crrev.com/0162a9b1e7d6902134b1d4d12a8aa33722a84b8d/tools/cygprofile/lightweight_cygprofile.cc
,
Feb 8 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0769eb7bd68ab99895c5428055dee1038709cf35 commit 0769eb7bd68ab99895c5428055dee1038709cf35 Author: Matthew Cary <mattcary@chromium.org> Date: Thu Feb 08 09:22:32 2018 Enable instrumenting webview. This makes an instrumented monochrome build possible. Bug: 758566 Change-Id: Ia68d54c15033b97a086cc0ce6142a399f1345c06 Reviewed-on: https://chromium-review.googlesource.com/905668 Reviewed-by: Benoit L <lizeb@chromium.org> Reviewed-by: Richard Coles <torne@chromium.org> Commit-Queue: Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#535338} [modify] https://crrev.com/0769eb7bd68ab99895c5428055dee1038709cf35/android_webview/BUILD.gn
,
Feb 13 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c870c6df43f54ec6758fb40521460788b744b7a2 commit c870c6df43f54ec6758fb40521460788b744b7a2 Author: Matthew Cary <mattcary@chromium.org> Date: Tue Feb 13 16:37:29 2018 cygprofile: Refactor cyglog_to_orderfile.py. No functional changes. This will make it possible to generate an orderfile with offsets that are not produced from a profile run made by orderfile_generator. Also creates test_utils.py as I noticed there was a lot of reuse. Bug: 758566 Change-Id: I22b13ecfe10a630ab4c2dcb1c67caf30e86342c5 Reviewed-on: https://chromium-review.googlesource.com/897563 Commit-Queue: Matthew Cary <mattcary@chromium.org> Reviewed-by: Egor Pasko <pasko@chromium.org> Cr-Commit-Position: refs/heads/master@{#536378} [modify] https://crrev.com/c870c6df43f54ec6758fb40521460788b744b7a2/tools/cygprofile/check_orderfile.py [modify] https://crrev.com/c870c6df43f54ec6758fb40521460788b744b7a2/tools/cygprofile/cyglog_to_orderfile.py [modify] https://crrev.com/c870c6df43f54ec6758fb40521460788b744b7a2/tools/cygprofile/cyglog_to_orderfile_unittest.py [modify] https://crrev.com/c870c6df43f54ec6758fb40521460788b744b7a2/tools/cygprofile/patch_orderfile.py [modify] https://crrev.com/c870c6df43f54ec6758fb40521460788b744b7a2/tools/cygprofile/phased_orderfile_unittest.py [modify] https://crrev.com/c870c6df43f54ec6758fb40521460788b744b7a2/tools/cygprofile/process_profiles.py [modify] https://crrev.com/c870c6df43f54ec6758fb40521460788b744b7a2/tools/cygprofile/process_profiles_unittest.py [add] https://crrev.com/c870c6df43f54ec6758fb40521460788b744b7a2/tools/cygprofile/test_utils.py
,
Feb 23 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ed73a1d57de9a443ede4b82b3d9163578362c267 commit ed73a1d57de9a443ede4b82b3d9163578362c267 Author: Matthew Cary <mattcary@chromium.org> Date: Fri Feb 23 12:41:59 2018 cygprofile: Orderfile-based madvise() and prefetch. Add support for madvising and prefetching different parts of the native library according to the orderfile. The orderfile will support organising the library text section into three parts: code that is used in startup only, commonly used code that is ordered, and all other code that is not ordered. This change adds another dummy_function_* to achieve that. The currently-experimental MadviseRandomText() function is replace with MadviseForOrderfile which performs more precise madvising of unordered code only as RANDOM. When madvising for the orderfile is done, library prefetching is disabled. This will be changed in the future to prefetch only startup or only ordered code depending on what is more effective in experiments. Bug: 758566 Change-Id: I85af8e33a79d9091e282f2640c47d6c83aca7fc2 Reviewed-on: https://chromium-review.googlesource.com/923965 Commit-Queue: Matthew Cary <mattcary@chromium.org> Reviewed-by: Camille Lamy <clamy@chromium.org> Reviewed-by: Gabriel Charette <gab@chromium.org> Reviewed-by: agrieve <agrieve@chromium.org> Reviewed-by: Benoit L <lizeb@chromium.org> Cr-Commit-Position: refs/heads/master@{#538766} [modify] https://crrev.com/ed73a1d57de9a443ede4b82b3d9163578362c267/base/android/library_loader/library_loader_hooks.cc [modify] https://crrev.com/ed73a1d57de9a443ede4b82b3d9163578362c267/base/android/library_loader/library_prefetcher.cc [modify] https://crrev.com/ed73a1d57de9a443ede4b82b3d9163578362c267/base/android/library_loader/library_prefetcher.h [modify] https://crrev.com/ed73a1d57de9a443ede4b82b3d9163578362c267/base/base_switches.cc [modify] https://crrev.com/ed73a1d57de9a443ede4b82b3d9163578362c267/base/base_switches.h [modify] https://crrev.com/ed73a1d57de9a443ede4b82b3d9163578362c267/content/browser/gpu/gpu_process_host.cc [modify] https://crrev.com/ed73a1d57de9a443ede4b82b3d9163578362c267/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/ed73a1d57de9a443ede4b82b3d9163578362c267/content/browser/utility_process_host_impl.cc
,
Mar 21 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d12988d97a882f1001a8d5173ecefcf8b821f823 commit d12988d97a882f1001a8d5173ecefcf8b821f823 Author: Matthew Cary <mattcary@chromium.org> Date: Wed Mar 21 14:45:20 2018 cygprofile: Manifest changes for isolated processes necessary for O. Starting from Android O it is no longer possible to run any of the processes isolated. However, it is not necessary if SELinux is in permissive mode, which the orderfile generator sets (see tools/cygprofile/profile_android_startup.py in _SetUpDevice). This CL therefore removes the orderfile-specific changes to the android manifest for all builds. Bug: 758566 Change-Id: If3a8e0a3f0dfe81b034b4e0b080db53f661ef265 Reviewed-on: https://chromium-review.googlesource.com/970660 Reviewed-by: Bernhard Bauer <bauerb@chromium.org> Reviewed-by: Benoit L <lizeb@chromium.org> Commit-Queue: Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#544692} [modify] https://crrev.com/d12988d97a882f1001a8d5173ecefcf8b821f823/chrome/android/chrome_public_apk_tmpl.gni [modify] https://crrev.com/d12988d97a882f1001a8d5173ecefcf8b821f823/chrome/android/java/AndroidManifest.xml
,
Mar 21 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6a99e2011c75625ace7fa64b1e517ea59ab50f37 commit 6a99e2011c75625ace7fa64b1e517ea59ab50f37 Author: Matthew Cary <mattcary@chromium.org> Date: Wed Mar 21 17:32:05 2018 cygprofile: Control android native library prefetch. This adds two switches, --force-native-prefetch and --native-prefetch-ordered-only. The former forces prefetch, even if orderfile memory optimization is active. The latter prefetches only ordered code as defined in base/android/library_loader/anchor_functions.h. These two switches operate independently. Bug: 758566 Change-Id: Ie237eb9b7dc5905906e721c4ab9496fb0f79af0d Reviewed-on: https://chromium-review.googlesource.com/970658 Reviewed-by: agrieve <agrieve@chromium.org> Reviewed-by: Gabriel Charette <gab@chromium.org> Reviewed-by: Benoit L <lizeb@chromium.org> Commit-Queue: Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#544758} [modify] https://crrev.com/6a99e2011c75625ace7fa64b1e517ea59ab50f37/base/android/library_loader/library_loader_hooks.cc [modify] https://crrev.com/6a99e2011c75625ace7fa64b1e517ea59ab50f37/base/android/library_loader/library_prefetcher.cc [modify] https://crrev.com/6a99e2011c75625ace7fa64b1e517ea59ab50f37/base/android/library_loader/library_prefetcher.h [modify] https://crrev.com/6a99e2011c75625ace7fa64b1e517ea59ab50f37/base/base_switches.cc [modify] https://crrev.com/6a99e2011c75625ace7fa64b1e517ea59ab50f37/base/base_switches.h
,
Apr 4 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/db9d0fdebbdfee3b8ff6a2670afe143be3b0f83e commit db9d0fdebbdfee3b8ff6a2670afe143be3b0f83e Author: Benoit Lize <lizeb@chromium.org> Date: Wed Apr 04 08:26:17 2018 android: Cleanup order profiling instrumentation. tools/cygprofile (and its dependencies, among them //base) are built without instrumentation, as the previous version of it was calling //base functions, and to avoid infinite recursion. This is no longer necessary. Removing this has two benefits: - More code is instrumented (as some parts of //base were off-limits) - Simpler build files. Also: - Explain why //tools/cygprofile is a dependency of //tools/android/md5sum - Instrument libwebp, and remove the opt-out of instrumentation TBR=digit Bug: 758566 Change-Id: I62cad01d216adbab759c62c42d2baa08f7a8a0b1 Reviewed-on: https://chromium-review.googlesource.com/985973 Commit-Queue: Benoit L <lizeb@chromium.org> Reviewed-by: Egor Pasko <pasko@chromium.org> Reviewed-by: agrieve <agrieve@chromium.org> Reviewed-by: James Zern <jzern@google.com> Cr-Commit-Position: refs/heads/master@{#548005} [modify] https://crrev.com/db9d0fdebbdfee3b8ff6a2670afe143be3b0f83e/build/config/android/BUILD.gn [modify] https://crrev.com/db9d0fdebbdfee3b8ff6a2670afe143be3b0f83e/third_party/libwebp/BUILD.gn [modify] https://crrev.com/db9d0fdebbdfee3b8ff6a2670afe143be3b0f83e/tools/android/md5sum/BUILD.gn [modify] https://crrev.com/db9d0fdebbdfee3b8ff6a2670afe143be3b0f83e/tools/cygprofile/BUILD.gn [modify] https://crrev.com/db9d0fdebbdfee3b8ff6a2670afe143be3b0f83e/tools/cygprofile/lightweight_cygprofile.cc
,
Apr 9 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5bbd94e7dd3671df1a1a4299727352c92b6d00b8 commit 5bbd94e7dd3671df1a1a4299727352c92b6d00b8 Author: Benoit Lize <lizeb@chromium.org> Date: Mon Apr 09 08:33:47 2018 tools/android: Get Chrome's memory footprint from code pages on a device. Also adds presubmit checks and unit tests to this directory. Sample output: $ python tools/android/native_lib_memory/code_pages_pss.py --app-package com.google.android.googlequicksearchbox --chrome-package com.android.chrome [...] com.google.android.googlequicksearchbox com.google.android.googlequicksearchbox:interactor com.google.android.googlequicksearchbox:search Total PSS from code pages = 2171kB INFO: root:Processes: Bug: 758566 Change-Id: I55cb0f3a5ca3fbadd9d2b095713258cd8b66caa5 Reviewed-on: https://chromium-review.googlesource.com/999714 Reviewed-by: Egor Pasko <pasko@chromium.org> Commit-Queue: Benoit L <lizeb@chromium.org> Cr-Commit-Position: refs/heads/master@{#549127} [add] https://crrev.com/5bbd94e7dd3671df1a1a4299727352c92b6d00b8/tools/android/native_lib_memory/PRESUBMIT.py [add] https://crrev.com/5bbd94e7dd3671df1a1a4299727352c92b6d00b8/tools/android/native_lib_memory/code_pages_pss.py [add] https://crrev.com/5bbd94e7dd3671df1a1a4299727352c92b6d00b8/tools/android/native_lib_memory/code_pages_pss_unittest.py [modify] https://crrev.com/5bbd94e7dd3671df1a1a4299727352c92b6d00b8/tools/android/native_lib_memory/process_residency.py [add] https://crrev.com/5bbd94e7dd3671df1a1a4299727352c92b6d00b8/tools/android/native_lib_memory/run_tests
,
May 2 2018
The following revision refers to this bug: https://chromium.googlesource.com/catapult/+/86d3e79d8882670b4111b71eadf41072f98be34b commit 86d3e79d8882670b4111b71eadf41072f98be34b Author: Matthew Cary <mattcary@chromium.org> Date: Wed May 02 08:52:23 2018 [Tracing] Android native library resident size statistics. Adds resident statistics for the android native library, as defined by VM regions with read and execute permission and whose mapped file includes the name "base.apk". This will not add any new statistics to other platforms where such VM regions don't exist. Bug: chromium:758566 Change-Id: If902cfacee5a4f2c9420ded7c331cec831cb21d0 Reviewed-on: https://chromium-review.googlesource.com/986372 Commit-Queue: Matthew Cary <mattcary@chromium.org> Reviewed-by: Ethan Kuefner <eakuefner@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> [modify] https://crrev.com/86d3e79d8882670b4111b71eadf41072f98be34b/tracing/tracing/model/vm_region_test.html [modify] https://crrev.com/86d3e79d8882670b4111b71eadf41072f98be34b/tracing/tracing/metrics/system_health/memory_metric_test.html [modify] https://crrev.com/86d3e79d8882670b4111b71eadf41072f98be34b/tracing/tracing/metrics/system_health/memory_metric.html [modify] https://crrev.com/86d3e79d8882670b4111b71eadf41072f98be34b/tracing/tracing/model/vm_region.html [modify] https://crrev.com/86d3e79d8882670b4111b71eadf41072f98be34b/tracing/tracing/extras/importer/trace_event_importer.html
,
May 2 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ecf9112d654042989ad6e540f65a309fbda6803d commit ecf9112d654042989ad6e540f65a309fbda6803d Author: catapult-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <catapult-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Date: Wed May 02 12:02:34 2018 Roll src/third_party/catapult/ 5b642efe8..86d3e79d8 (1 commit) https://chromium.googlesource.com/catapult.git/+log/5b642efe8459..86d3e79d8882 $ git log 5b642efe8..86d3e79d8 --date=short --no-merges --format='%ad %ae %s' 2018-05-02 mattcary [Tracing] Android native library resident size statistics. Created with: roll-dep src/third_party/catapult BUG=chromium:758566 The AutoRoll server is located here: https://catapult-roll.skia.org Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=sullivan@chromium.org Change-Id: I9887f72a3ecf93a97d56d4cc4b6ffb4b6f4b59b1 Reviewed-on: https://chromium-review.googlesource.com/1039264 Commit-Queue: catapult-chromium-autoroll <catapult-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Reviewed-by: catapult-chromium-autoroll <catapult-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#555356} [modify] https://crrev.com/ecf9112d654042989ad6e540f65a309fbda6803d/DEPS
,
May 16 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1dfb1faf43d0b441a0a62ed03a7bdac171ea08ba commit 1dfb1faf43d0b441a0a62ed03a7bdac171ea08ba Author: Benoit Lize <lizeb@chromium.org> Date: Wed May 16 15:02:24 2018 cygprofile: Add __cxx_global_var_init to the orderfile. This is currently the third largest symbol in Chrome on Android, yet is out of the orderfile (as it's not instrumented). Bug: 758566 Change-Id: Id4b3cfcc74bbf5c2202ae4ed1eff2e385ef4c7b7 Reviewed-on: https://chromium-review.googlesource.com/1061521 Reviewed-by: Matthew Cary <mattcary@chromium.org> Commit-Queue: Benoit L <lizeb@chromium.org> Cr-Commit-Position: refs/heads/master@{#559094} [modify] https://crrev.com/1dfb1faf43d0b441a0a62ed03a7bdac171ea08ba/tools/cygprofile/patch_orderfile.py
,
Jun 14 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fbbfa7eae66f2cd20b679147ebedb3a7af1e5563 commit fbbfa7eae66f2cd20b679147ebedb3a7af1e5563 Author: Matthew Cary <mattcary@chromium.org> Date: Thu Jun 14 15:28:27 2018 Orderfile: Simplify prefetch logic. The current logic in library_loader_hooks.cc for when to fork and prefetch the native library has gotten complicated. This CL simplifies it to current best practice: The prefetching is always done, restricted to the ordered code if --orderfile-memory-optimization is set. Bug: 758566 Change-Id: I86ecfff37b18eb7bda1edadfa5399db97b8be53e Reviewed-on: https://chromium-review.googlesource.com/1095256 Reviewed-by: Gabriel Charette <gab@chromium.org> Reviewed-by: Benoit L <lizeb@chromium.org> Commit-Queue: Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#567274} [modify] https://crrev.com/fbbfa7eae66f2cd20b679147ebedb3a7af1e5563/base/android/library_loader/library_loader_hooks.cc [modify] https://crrev.com/fbbfa7eae66f2cd20b679147ebedb3a7af1e5563/base/base_switches.cc [modify] https://crrev.com/fbbfa7eae66f2cd20b679147ebedb3a7af1e5563/base/base_switches.h
,
Jun 14 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e8400646d71d2397a3ce6b4ca6ca918b9ee4f6d7 commit e8400646d71d2397a3ce6b4ca6ca918b9ee4f6d7 Author: Matthew Cary <mattcary@chromium.org> Date: Thu Jun 14 15:43:02 2018 Orderfile: add manual symbol offsets to the orderfile generator. Adds --manual-symbol-offsets, --manual-libname and --manual-objdir to the orderfile generator, allowing custom profiling. For example, with this one can easily collect profile information manual, process it with phased_orderfile.py, and then use the resulting symbol lists to produce a properly patched orderfile that is suitable for performance comparison against the production orderfile. Bug: 758566 Change-Id: I0e41319dfcd537cd7f076e0236dc96b853dd7a4f Reviewed-on: https://chromium-review.googlesource.com/1095274 Reviewed-by: Benoit L <lizeb@chromium.org> Commit-Queue: Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#567284} [modify] https://crrev.com/e8400646d71d2397a3ce6b4ca6ca918b9ee4f6d7/tools/cygprofile/orderfile_generator_backend.py
,
Jul 24
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c51effeb6e70a4badb8ad39744ca48cbc4d9e675 commit c51effeb6e70a4badb8ad39744ca48cbc4d9e675 Author: Matthew Cary <mattcary@chromium.org> Date: Tue Jul 24 14:55:22 2018 Orderfile: phased_orderfile updates This performs the per-process phased offset processing used for the orderfile. Bug: 758566 Change-Id: I5cbdb69c4834d95a52f2e43ad3f72e4845413883 Reviewed-on: https://chromium-review.googlesource.com/1144935 Commit-Queue: Matthew Cary <mattcary@chromium.org> Reviewed-by: Benoit L <lizeb@chromium.org> Reviewed-by: Egor Pasko <pasko@chromium.org> Cr-Commit-Position: refs/heads/master@{#577537} [modify] https://crrev.com/c51effeb6e70a4badb8ad39744ca48cbc4d9e675/tools/cygprofile/phased_orderfile.py [modify] https://crrev.com/c51effeb6e70a4badb8ad39744ca48cbc4d9e675/tools/cygprofile/phased_orderfile_unittest.py [modify] https://crrev.com/c51effeb6e70a4badb8ad39744ca48cbc4d9e675/tools/cygprofile/process_profiles.py [modify] https://crrev.com/c51effeb6e70a4badb8ad39744ca48cbc4d9e675/tools/cygprofile/process_profiles_unittest.py [modify] https://crrev.com/c51effeb6e70a4badb8ad39744ca48cbc4d9e675/tools/cygprofile/test_utils.py
,
Jul 27
,
Jul 27
The following revision refers to this bug: https://chromium.googlesource.com/catapult/+/6a67dd77dfc315c038acd9d6349bfe57f2b6fa97 commit 6a67dd77dfc315c038acd9d6349bfe57f2b6fa97 Author: Matthew Cary <mattcary@chromium.org> Date: Fri Jul 27 13:25:36 2018 Tracing: Fix native library stats for pre-N devices. The native library is loaded by chrome on pre-N devices, changing how it is reported in /proc/smaps. This change updates the native library stats to work for those cases. Bug: chromium:758566 Change-Id: Ic842491062b7cb3e27ebe8626c33f00d6277e6b0 Reviewed-on: https://chromium-review.googlesource.com/1126116 Reviewed-by: Primiano Tucci <primiano@chromium.org> Reviewed-by: Ethan Kuefner <eakuefner@chromium.org> Commit-Queue: Matthew Cary <mattcary@chromium.org> [modify] https://crrev.com/6a67dd77dfc315c038acd9d6349bfe57f2b6fa97/tracing/tracing/model/vm_region.html
,
Jul 27
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c36aa32695fe893d721015ee2566b79ba65d3d1d commit c36aa32695fe893d721015ee2566b79ba65d3d1d Author: catapult-chromium-autoroll <catapult-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Date: Fri Jul 27 15:39:44 2018 Roll src/third_party/catapult 787a378926fb..6a67dd77dfc3 (1 commits) https://chromium.googlesource.com/catapult.git/+log/787a378926fb..6a67dd77dfc3 git log 787a378926fb..6a67dd77dfc3 --date=short --no-merges --format='%ad %ae %s' 2018-07-27 mattcary@chromium.org Tracing: Fix native library stats for pre-N devices. Created with: gclient setdep -r src/third_party/catapult@6a67dd77dfc3 The AutoRoll server is located here: https://catapult-roll.skia.org Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel BUG=chromium:758566 TBR=sullivan@chromium.org Change-Id: I21b7d9a9d8d414220c338583ca44b04263a5c27f Reviewed-on: https://chromium-review.googlesource.com/1152618 Reviewed-by: catapult-chromium-autoroll <catapult-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Commit-Queue: catapult-chromium-autoroll <catapult-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#578653} [modify] https://crrev.com/c36aa32695fe893d721015ee2566b79ba65d3d1d/DEPS
,
Aug 2
,
Aug 2
,
Aug 10
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f2da3d75d65ae259a03030305daeb9ecadfcdfc5 commit f2da3d75d65ae259a03030305daeb9ecadfcdfc5 Author: Matthew Cary <mattcary@chromium.org> Date: Fri Aug 10 16:25:36 2018 Orderfile: output phase sizes during processing. When generating orderfiles manually, output the sizes symbols in each phase. Also removes obsolete stability calculation. Bug: 758566 Change-Id: Ie836061e93683884d631c2f7d3daab7fb6602c9f Reviewed-on: https://chromium-review.googlesource.com/1156305 Commit-Queue: Matthew Cary <mattcary@chromium.org> Reviewed-by: Benoit L <lizeb@chromium.org> Reviewed-by: Egor Pasko <pasko@chromium.org> Cr-Commit-Position: refs/heads/master@{#582195} [modify] https://crrev.com/f2da3d75d65ae259a03030305daeb9ecadfcdfc5/tools/cygprofile/phased_orderfile.py
,
Aug 10
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/78aae16be65e409075816860e948d1536a548234 commit 78aae16be65e409075816860e948d1536a548234 Author: Matthew Cary <mattcary@chromium.org> Date: Fri Aug 10 17:16:30 2018 Orderfile: add phased system health orderfile to the generator. This is enabled with --system-health-orderfile. Other than taking much longer to run the profiling, and producing a much more effective orderfile, the orderfile generator is run in the same way and produces the same output. Bug: 758566 Change-Id: I66c3aa28c9499179f86644ee8e64c9a6c63bad54 Reviewed-on: https://chromium-review.googlesource.com/1159066 Commit-Queue: Matthew Cary <mattcary@chromium.org> Reviewed-by: Benoit L <lizeb@chromium.org> Cr-Commit-Position: refs/heads/master@{#582219} [modify] https://crrev.com/78aae16be65e409075816860e948d1536a548234/tools/cygprofile/orderfile_generator_backend.py [modify] https://crrev.com/78aae16be65e409075816860e948d1536a548234/tools/cygprofile/phased_orderfile.py [modify] https://crrev.com/78aae16be65e409075816860e948d1536a548234/tools/cygprofile/phased_orderfile_unittest.py [modify] https://crrev.com/78aae16be65e409075816860e948d1536a548234/tools/cygprofile/profile_android_startup.py
,
Aug 21
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4fc85b2785c5fef479a397fa5de4eb8152f650bd commit 4fc85b2785c5fef479a397fa5de4eb8152f650bd Author: Matthew Cary <mattcary@chromium.org> Date: Tue Aug 21 18:25:46 2018 Android: whitelist MADV_RANDOM and MADV_NORMAL. Extend seccomp_bpf to allow MADV_RANDOM and MADV_NORMAL for the madvise() syscall. These are used to control code page memory footprint, particularly on android. Bug: 758566 Cq-Include-Trybots: master.tryserver.chromium.android:android_compile_x64_dbg;master.tryserver.chromium.android:android_compile_x86_dbg Change-Id: I9d87af4453d19a1391053ffc56f1eab85a2ad231 Reviewed-on: https://chromium-review.googlesource.com/1150176 Commit-Queue: Matthew Cary <mattcary@chromium.org> Reviewed-by: Benoit L <lizeb@chromium.org> Reviewed-by: Chris Palmer <palmer@chromium.org> Reviewed-by: Robert Sesek <rsesek@chromium.org> Cr-Commit-Position: refs/heads/master@{#584845} [modify] https://crrev.com/4fc85b2785c5fef479a397fa5de4eb8152f650bd/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
,
Sep 14
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/799a3b2f8c0ebd82b7940b446d1354057606b37c commit 799a3b2f8c0ebd82b7940b446d1354057606b37c Author: Matthew Cary <mattcary@chromium.org> Date: Fri Sep 14 09:56:14 2018 Orderfile: add logging on repeated symbols. There are frequently a small number of symbols that are repeated with different offsets. These are benign but cause some annoyances, for example they can make it appear that a binary is not ordered correctly, necessitating the threshold used in check_orderfile.py (q.v.). This CL adds a small amount of logging for the repeated symbols that will make it easier to see the cause if a larger number of symbols get repeated. Bug: 758566 Change-Id: I04038bebec38b1b38e5667a578e7b4e06ac6060d Reviewed-on: https://chromium-review.googlesource.com/1201853 Reviewed-by: Benoit L <lizeb@chromium.org> Commit-Queue: Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#591314} [modify] https://crrev.com/799a3b2f8c0ebd82b7940b446d1354057606b37c/tools/cygprofile/symbol_extractor.py
,
Sep 14
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d6bfcb75d4974587fbb737d136120c540e5ca24a commit d6bfcb75d4974587fbb737d136120c540e5ca24a Author: Matthew Cary <mattcary@chromium.org> Date: Fri Sep 14 11:27:46 2018 Orderfile: add option to build for monochrome. This is helpful for local testing, where our older devices are getting flaky, and will eventually be necessary when the bot upgrades. Bug: 758566 Change-Id: If1d36f17c3ffd8605d14ab1aa30d4df0acafc3ad Reviewed-on: https://chromium-review.googlesource.com/1219688 Reviewed-by: Egor Pasko <pasko@chromium.org> Reviewed-by: Benoit L <lizeb@chromium.org> Commit-Queue: Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#591322} [modify] https://crrev.com/d6bfcb75d4974587fbb737d136120c540e5ca24a/tools/cygprofile/orderfile_generator_backend.py
,
Sep 17
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/52a492364d30a13687cb67742d8393d0ea86a431 commit 52a492364d30a13687cb67742d8393d0ea86a431 Author: Matthew Cary <mattcary@chromium.org> Date: Mon Sep 17 10:56:05 2018 Orderfile: reduce system_health training jobs to 25. Local testing suggests 25 jobs will increase orderfile generation time from 1h to 2.5h. The orderfile currently runs every 3 hours, so adding more training jobs would the orderfile to fall further behind. Until we're confident in the performance of the new orderfile we'll be conservative in making changes to the pipeline. Bug: 758566 Change-Id: Ic0c19d4659f5f7183b0cabcaff8e048a71141257 Reviewed-on: https://chromium-review.googlesource.com/1225883 Reviewed-by: Benoit L <lizeb@chromium.org> Commit-Queue: Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#591636} [modify] https://crrev.com/52a492364d30a13687cb67742d8393d0ea86a431/tools/perf/contrib/orderfile/orderfile.py
,
Sep 17
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7d96627bed2c63b20654af506098e7ef8b722756 commit 7d96627bed2c63b20654af506098e7ef8b722756 Author: Matthew Cary <mattcary@chromium.org> Date: Mon Sep 17 14:51:45 2018 Orderfile: turn on system health order profiling. This sets default orderfile generation to use system health profiling. Bug: 758566 Change-Id: Ie87f8b2623373861c7bdc44d5dfd866ce3597cd9 Reviewed-on: https://chromium-review.googlesource.com/1228074 Commit-Queue: Matthew Cary <mattcary@chromium.org> Reviewed-by: Egor Pasko <pasko@chromium.org> Reviewed-by: Benoit L <lizeb@chromium.org> Cr-Commit-Position: refs/heads/master@{#591674} [modify] https://crrev.com/7d96627bed2c63b20654af506098e7ef8b722756/tools/cygprofile/orderfile_generator_backend.py
,
Sep 18
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/266899324645fdad78e0855b046d47f0eebd8626 commit 266899324645fdad78e0855b046d47f0eebd8626 Author: John Budorick <jbudorick@chromium.org> Date: Tue Sep 18 19:05:42 2018 Revert "Orderfile: turn on system health order profiling." This reverts commit 7d96627bed2c63b20654af506098e7ef8b722756. Reason for revert: Suspect this broke orderfile generation due to conflicting adb binaries. Original change's description: > Orderfile: turn on system health order profiling. > > This sets default orderfile generation to use system health profiling. > > Bug: 758566 > Change-Id: Ie87f8b2623373861c7bdc44d5dfd866ce3597cd9 > Reviewed-on: https://chromium-review.googlesource.com/1228074 > Commit-Queue: Matthew Cary <mattcary@chromium.org> > Reviewed-by: Egor Pasko <pasko@chromium.org> > Reviewed-by: Benoit L <lizeb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#591674} TBR=pasko@chromium.org,lizeb@chromium.org,mattcary@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 758566 Change-Id: Ia3092b00488f332a5348f9aaae13fdb4691f27de Reviewed-on: https://chromium-review.googlesource.com/1231919 Reviewed-by: John Budorick <jbudorick@chromium.org> Commit-Queue: John Budorick <jbudorick@chromium.org> Cr-Commit-Position: refs/heads/master@{#592132} [modify] https://crrev.com/266899324645fdad78e0855b046d47f0eebd8626/tools/cygprofile/orderfile_generator_backend.py
,
Sep 19
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e1b0006b65ea5c8015d67e7ea1be6cfe5732057f commit e1b0006b65ea5c8015d67e7ea1be6cfe5732057f Author: Matthew Cary <mattcary@chromium.org> Date: Wed Sep 19 14:27:44 2018 Orderfile: fix bug in monochrome build. Bug: 758566 Change-Id: I9ec28cc5bb1be7baac6ac232bd9db1a10870b3cc Reviewed-on: https://chromium-review.googlesource.com/1233595 Reviewed-by: Egor Pasko <pasko@chromium.org> Commit-Queue: Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#592389} [modify] https://crrev.com/e1b0006b65ea5c8015d67e7ea1be6cfe5732057f/tools/cygprofile/orderfile_generator_backend.py
,
Sep 19
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c262f5df4a20ce8f196cdf2f17b3f33b5f17a01d commit c262f5df4a20ce8f196cdf2f17b3f33b5f17a01d Author: Matthew Cary <mattcary@chromium.org> Date: Wed Sep 19 14:36:28 2018 Orderfile: Revert revert "Orderfile: turn on system health order profiling." This reverts 7d96627bed2c63b20654af506098e7ef8b722756. Reason: adb problems possibly fixed. Bug: 885071, 758566 Change-Id: Id1abd6f5ab2022ecb50232b8f02e5cab8940ec84 Reviewed-on: https://chromium-review.googlesource.com/1233695 Commit-Queue: Matthew Cary <mattcary@chromium.org> Reviewed-by: Egor Pasko <pasko@chromium.org> Cr-Commit-Position: refs/heads/master@{#592391} [modify] https://crrev.com/c262f5df4a20ce8f196cdf2f17b3f33b5f17a01d/tools/cygprofile/orderfile_generator_backend.py
,
Sep 20
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3c48bf62457c93307400966880433a4a1a3f929d commit 3c48bf62457c93307400966880433a4a1a3f929d Author: Matthew Cary <mattcary@chromium.org> Date: Thu Sep 20 11:07:51 2018 Orderfile: blacklist gmail system health tests. long_running:tools:gmail-foreground and long_running:tools:gmail-background fail consistently during orderfile profiling. Blacklisting them will let us run another benchmark instead. Bug: 758566 Change-Id: I504e522c5f7d809838bcefc8168eb3a284d4ed1a Reviewed-on: https://chromium-review.googlesource.com/1235713 Reviewed-by: Egor Pasko <pasko@chromium.org> Commit-Queue: Egor Pasko <pasko@chromium.org> Cr-Commit-Position: refs/heads/master@{#592752} [modify] https://crrev.com/3c48bf62457c93307400966880433a4a1a3f929d/tools/perf/contrib/orderfile/orderfile.py
,
Sep 26
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/16d1abff6faaa88b98fca3db679f699995d70b69 commit 16d1abff6faaa88b98fca3db679f699995d70b69 Author: Matthew Cary <mattcary@chromium.org> Date: Wed Sep 26 08:01:30 2018 Orderfile: increase new profile pull timeout. Pulling the new profile files seems to be consistently timing out on the buildbot. Bug: 758566 TBR: pasko@chromium.org Change-Id: I544e2a9e76609d56c791fe7d1794efe6eb5087a4 Reviewed-on: https://chromium-review.googlesource.com/1244840 Reviewed-by: Matthew Cary <mattcary@chromium.org> Commit-Queue: Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#594246} [modify] https://crrev.com/16d1abff6faaa88b98fca3db679f699995d70b69/tools/cygprofile/profile_android_startup.py
,
Oct 11
The following revision refers to this bug: https://chromium.googlesource.com/catapult/+/304adc9832be7bbb3dde03c899347be3f05af952 commit 304adc9832be7bbb3dde03c899347be3f05af952 Author: Egor Pasko <pasko@chromium.org> Date: Thu Oct 11 13:26:31 2018 Enable orderfile memory optimization in benchmarks **PERF SHERIFFS**: We do not expect the behavior to affect startup performance. It should affect memory usage from native code. The way to force the new behavior (that we intend to launch) is to provide the flag to Chrome: --orderfile-memory-optimization. This behavior will be Finch-ed (as described in [1]), but we cannot use the 'fieldtrial_testing_config.json' for testing because the feature is set up as a synthetic field trial. This change should land and rolled into Chromium _before_ [1] lands to avoid coin flipping when benchmarking. [1] https://chromium-review.googlesource.com/c/chromium/src/+/1270936 Bug: chromium:758566 Change-Id: I5963b087b0226e15befbd68335325147cd3efeba Reviewed-on: https://chromium-review.googlesource.com/c/1276246 Reviewed-by: Juan Antonio Navarro Pérez <perezju@chromium.org> Commit-Queue: Egor Pasko <pasko@chromium.org> [modify] https://crrev.com/304adc9832be7bbb3dde03c899347be3f05af952/telemetry/telemetry/internal/backends/chrome/chrome_startup_args.py
,
Oct 11
The following revision refers to this bug: https://chromium.googlesource.com/catapult/+/41b91eed1635b282ae03979fa61a52567c129642 commit 41b91eed1635b282ae03979fa61a52567c129642 Author: John Budorick <jbudorick@chromium.org> Date: Thu Oct 11 23:09:24 2018 Revert "Enable orderfile memory optimization in benchmarks" This reverts commit 304adc9832be7bbb3dde03c899347be3f05af952. Reason for revert: crbug.com/894622 Original change's description: > Enable orderfile memory optimization in benchmarks > > **PERF SHERIFFS**: We do not expect the behavior to affect startup > performance. It should affect memory usage from > native code. > > The way to force the new behavior (that we intend to launch) is to > provide the flag to Chrome: --orderfile-memory-optimization. > > This behavior will be Finch-ed (as described in [1]), but we cannot use > the 'fieldtrial_testing_config.json' for testing because the feature is > set up as a synthetic field trial. > > This change should land and rolled into Chromium _before_ [1] lands to > avoid coin flipping when benchmarking. > > [1] https://chromium-review.googlesource.com/c/chromium/src/+/1270936 > > Bug: chromium:758566 > Change-Id: I5963b087b0226e15befbd68335325147cd3efeba > Reviewed-on: https://chromium-review.googlesource.com/c/1276246 > Reviewed-by: Juan Antonio Navarro Pérez <perezju@chromium.org> > Commit-Queue: Egor Pasko <pasko@chromium.org> TBR=pasko@chromium.org,perezju@chromium.org Change-Id: Ia9e1af142b031b6ee430d7ba87000f70a9aae131 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:758566 Reviewed-on: https://chromium-review.googlesource.com/c/1277779 Reviewed-by: John Budorick <jbudorick@chromium.org> Commit-Queue: John Budorick <jbudorick@chromium.org> [modify] https://crrev.com/41b91eed1635b282ae03979fa61a52567c129642/telemetry/telemetry/internal/backends/chrome/chrome_startup_args.py
,
Oct 12
,
Oct 12
,
Oct 12
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bb11cbc66e56a475bdf0f5bf3d962cf80c3afe27 commit bb11cbc66e56a475bdf0f5bf3d962cf80c3afe27 Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com> Date: Fri Oct 12 22:54:58 2018 Roll src/third_party/catapult c8b97e37ec9c..99b88b0a2d58 (21 commits) https://chromium.googlesource.com/catapult.git/+log/c8b97e37ec9c..99b88b0a2d58 git log c8b97e37ec9c..99b88b0a2d58 --date=short --no-merges --format='%ad %ae %s' 2018-10-12 simonhatch@chromium.org Pinpoint - Merge bugs with same root cause. 2018-10-12 benjhayden@chromium.org Change deprecation warnings in /api/alerts to errors. 2018-10-12 benjhayden@chromium.org Cache report names, test suites, and descriptors in v2spa service worker 2018-10-12 chiniforooshan@chromium.org Telemetry: process all rendering pipeline events 2018-10-12 benjhayden@chromium.org Cache session ids in v2spa service worker. 2018-10-12 benjhayden@chromium.org Fix links in rollback.md 2018-10-12 benjhayden@chromium.org Add KeyValueCacheRequest for v2spa service worker. 2018-10-12 benjhayden@chromium.org Add ts_mon metrics to common/timing.py 2018-10-12 benjhayden@chromium.org Add CacheRequestBase for v2spa service worker. 2018-10-12 nednguyen@google.com [Telemetry] Add --test-filter flag that support exact matching of multiple tests 2018-10-12 sadrul@chromium.org rendering: Generate metrics at the 95%ile. 2018-10-12 pasko@chromium.org androidStartupMetric: re-introduce First Contentful Paint 2018-10-12 chrishtr@chromium.org Clean up categories to match current tracing in Blink. 2018-10-11 jbudorick@chromium.org Revert "Enable orderfile memory optimization in benchmarks" 2018-10-11 benjhayden@chromium.org Add task queue for v2spa service worker. 2018-10-11 benjhayden@chromium.org Remove unnecessary file dashboard/test/index.html 2018-10-11 perezju@chromium.org [soundwave] Allow points with missing r_chromium 2018-10-11 chiniforooshan@chromium.org Telemetry: migrate frame_times & percentage_smooth 2018-10-11 ulan@chromium.org [tracing] Restore the minimum mutator utilization metric. 2018-10-11 seanmccullough@chromium.org [chromeperf] add prefix to wct script so tests get found. 2018-10-11 pasko@chromium.org Enable orderfile memory optimization in benchmarks Created with: gclient setdep -r src/third_party/catapult@99b88b0a2d58 The AutoRoll server is located here: https://autoroll.skia.org/r/catapult-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel BUG=chromium:840872, chromium:893199 ,chromium:867060,chromium:894261,chromium:894287, chromium:886621 ,chromium:893514,chromium:758566, chromium:879526 , chromium:890757 , chromium:892385 , chromium:877660 ,chromium:758566 TBR=sullivan@chromium.org Change-Id: I469ed20d66790fa12e290ad65e2ea51c16cfdba7 Reviewed-on: https://chromium-review.googlesource.com/c/1279078 Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#599392} [modify] https://crrev.com/bb11cbc66e56a475bdf0f5bf3d962cf80c3afe27/DEPS
,
Oct 15
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/03642a2aea39a94f72995da5a3a922412cdf1ca2 commit 03642a2aea39a94f72995da5a3a922412cdf1ca2 Author: Matthew Cary <mattcary@chromium.org> Date: Mon Oct 15 09:08:08 2018 Orderfile: disable system health orderfile generation. The bugs below suggest that under thinLTO, the system health orderfile regresses memory, as well as performance (the latter probably even without thinLTO). This CL reverts back to the simpler orderfile. Bug: 758566,893981, 894827 Change-Id: I93c898dd7c8d55311ac3aed08815c610573c49c2 Reviewed-on: https://chromium-review.googlesource.com/c/1277804 Reviewed-by: Benoit L <lizeb@chromium.org> Commit-Queue: Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#599592} [modify] https://crrev.com/03642a2aea39a94f72995da5a3a922412cdf1ca2/tools/cygprofile/orderfile_generator_backend.py
,
Dec 10
,
Dec 24
,
Jan 14
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8c656bb971d5f30a98c48767617b0c2620036d79 commit 8c656bb971d5f30a98c48767617b0c2620036d79 Author: Benoît Lizé <lizeb@chromium.org> Date: Mon Jan 14 17:08:08 2019 cygprofile: Add support for ThinLTO in extract_symbols.py. Now that ThinLTO is used, object files no longer contain executable code, only LLVM bitcode. As a consequence, it is no longer possible to visualize the code -> object file mapping. extract_symbols.py can be used to overlay the native library code range with the provenance of its code. It generates a HTML visualization of the native library layout, and is used to investigate and assess code ordering. To get it back, use llvm-nm instead of objdump to get the list of symbols. This requires a change to clang scripts, as llvm-nm isn't built with clang yet. Also fixes a few lint warnings. Bug: 758566 Change-Id: I860e2a44132eb05b369c8c8a27a26776267611e2 Reviewed-on: https://chromium-review.googlesource.com/c/1409502 Commit-Queue: Benoit L <lizeb@chromium.org> Reviewed-by: Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#622486} [modify] https://crrev.com/8c656bb971d5f30a98c48767617b0c2620036d79/tools/android/native_lib_memory/extract_symbols.py [modify] https://crrev.com/8c656bb971d5f30a98c48767617b0c2620036d79/tools/cygprofile/symbol_extractor.py [modify] https://crrev.com/8c656bb971d5f30a98c48767617b0c2620036d79/tools/cygprofile/symbol_extractor_unittest.py
,
Jan 15
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/933961ccd19127931f81ee900daebff9530c96ac commit 933961ccd19127931f81ee900daebff9530c96ac Author: Benoît Lizé <lizeb@chromium.org> Date: Tue Jan 15 10:29:43 2019 cygprofile: Show the bounds of ordered code in extract_symbols.py. Adds an overalay in the HTML output to show the bounds of the ordered section. Bug: 758566 Change-Id: I547b7c578c2f0fc436939d81236f7cff51d0a2cf Reviewed-on: https://chromium-review.googlesource.com/c/1409449 Commit-Queue: Benoit L <lizeb@chromium.org> Reviewed-by: Matthew Cary <mattcary@chromium.org> Cr-Commit-Position: refs/heads/master@{#622797} [modify] https://crrev.com/933961ccd19127931f81ee900daebff9530c96ac/tools/android/native_lib_memory/visualize.js
,
Jan 15
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4b844706464c66793e9b2b4ab9eb0217859921a9 commit 4b844706464c66793e9b2b4ab9eb0217859921a9 Author: Benoît Lizé <lizeb@chromium.org> Date: Tue Jan 15 12:02:29 2019 cygprofile: Support ARM64 in symbol_extractor.py. llvm-nm can output lines with 16 digits, not 8 (contrary to the documentation). Adjust the regexp to account for that. Bug: 758566 Change-Id: I09d99658018a49cec76bb2ba60d424f5d4580a9d Reviewed-on: https://chromium-review.googlesource.com/c/1411343 Reviewed-by: Matthew Cary <mattcary@chromium.org> Commit-Queue: Benoit L <lizeb@chromium.org> Cr-Commit-Position: refs/heads/master@{#622820} [modify] https://crrev.com/4b844706464c66793e9b2b4ab9eb0217859921a9/tools/cygprofile/symbol_extractor.py [modify] https://crrev.com/4b844706464c66793e9b2b4ab9eb0217859921a9/tools/cygprofile/symbol_extractor_unittest.py
,
Jan 18
(5 days ago)
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/283e73ecd3fe026515a824fea203e08c1845e71d commit 283e73ecd3fe026515a824fea203e08c1845e71d Author: Matthew Cary <mattcary@chromium.org> Date: Fri Jan 18 14:18:34 2019 Android startup: Orderfile memory optimization trial. Expose orderfile memory optimizations such as madvise to a synthetic trial. This transforms the existing --orderfile-memory-optimization switch to one which takes an "on" or "off" value. If the switch is not given, a 50% synthetic trial named AndroidOrderfileOptimization is used instead. Membership in this trial is choosed randomly at startup and then communicated to subprocesses via --orderfile-memory-optimization. This has been enabled by system health orderfile creation, see crrev.com/c/1228074. Bug: 758566 Change-Id: Icc6efc6c82b99d7f1dd21678c667c89bc902f840 Reviewed-on: https://chromium-review.googlesource.com/c/1270936 Commit-Queue: Matthew Cary <mattcary@chromium.org> Reviewed-by: François Doray <fdoray@chromium.org> Reviewed-by: Xi Han <hanxi@chromium.org> Reviewed-by: Yaron Friedman <yfriedman@chromium.org> Reviewed-by: Alexei Svitkine <asvitkine@chromium.org> Reviewed-by: Benoit L <lizeb@chromium.org> Reviewed-by: Egor Pasko <pasko@chromium.org> Cr-Commit-Position: refs/heads/master@{#624104} [modify] https://crrev.com/283e73ecd3fe026515a824fea203e08c1845e71d/base/BUILD.gn [modify] https://crrev.com/283e73ecd3fe026515a824fea203e08c1845e71d/base/android/library_loader/library_loader_hooks.cc [modify] https://crrev.com/283e73ecd3fe026515a824fea203e08c1845e71d/base/android/library_loader/library_loader_hooks.h [add] https://crrev.com/283e73ecd3fe026515a824fea203e08c1845e71d/base/android/library_loader/library_loader_hooks_unittest.cc [modify] https://crrev.com/283e73ecd3fe026515a824fea203e08c1845e71d/base/android/library_loader/library_prefetcher.cc [modify] https://crrev.com/283e73ecd3fe026515a824fea203e08c1845e71d/base/base_switches.cc [modify] https://crrev.com/283e73ecd3fe026515a824fea203e08c1845e71d/chrome/browser/chrome_browser_field_trials_mobile.cc [modify] https://crrev.com/283e73ecd3fe026515a824fea203e08c1845e71d/chrome/browser/metrics/chrome_metrics_service_accessor.h |
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by benhenry@chromium.org
, Aug 24 2017