New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 651103 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 719774
Owner:
Last visit > 30 days ago
Closed: Jun 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression



Sign in to add a comment

1.5% regression in memory.top_10_mobile at 420047:420087

Project Member Reported by rmcilroy@chromium.org, Sep 28 2016

Issue description

See the link to graphs below.
 
All graphs for this bug:
  https://chromeperf.appspot.com/group_report?bug_id=651103

Original alerts at time of bug-filing:
  https://chromeperf.appspot.com/group_report?keys=agxzfmNocm9tZXBlcmZyFAsSB0Fub21hbHkYgICgxcf5tAoM


Bot(s) for this bug's original alert(s):

android-one
Project Member

Comment 3 by 42576172...@developer.gserviceaccount.com, Sep 30 2016


===== BISECT JOB RESULTS =====
Status: failed


===== TESTED REVISIONS =====
Revision         Mean      Std Dev  N  Good?
chromium@420046  15907819  42839.9  8  good
chromium@420067  15907178  67815.3  8  good
chromium@420077  15928298  20151.5  8  good
chromium@420080  15918414  33480.9  8  good
chromium@420082  15987386  24797.0  5  bad
chromium@420087  16005969  46486.4  8  bad

Bisect job ran on: android_one_perf_bisect
Bug ID: 651103

Test Command: src/tools/perf/run_benchmark -v --browser=android-chromium --output-format=chartjson --upload-results --also-run-disabled-tests memory.top_10_mobile
Test Metric: memory:chrome:all_processes:reported_by_os:system_memory:native_heap:proportional_resident_size_avg/background/after_https_m_facebook_com_rihanna
Relative Change: 0.71%
Score: 0

Buildbot stdio: http://build.chromium.org/p/tryserver.chromium.perf/builders/android_one_perf_bisect/builds/1660
Job details: https://chromeperf.appspot.com/buildbucket_job_status/9000262501624836704


Not what you expected? We'll investigate and get back to you!
  https://chromeperf.appspot.com/bad_bisect?try_job_id=5290888417247232

| O O | Visit http://www.chromium.org/developers/speed-infra/perf-bug-faq
|  X  | for more information addressing perf regression bugs. For feedback,
| / \ | file a bug with component Tests>AutoBisect.  Thank you!

===== BISECT JOB RESULTS =====
Status: failed


===== TESTED REVISIONS =====
Revision         Mean      Std Dev  N  Good?
chromium@420046  15953260  52575.1  8  good
chromium@420067  15909994  66864.5  8  good
chromium@420077  15862622  42156.3  5  good
chromium@420080  15913657  31422.7  5  good
chromium@420082  16005490  53789.0  5  bad
chromium@420087  16040883  17840.7  5  bad

Bisect job ran on: android_one_perf_bisect
Bug ID: 651103

Test Command: src/tools/perf/run_benchmark -v --browser=android-chromium --output-format=chartjson --upload-results --also-run-disabled-tests memory.top_10_mobile
Test Metric: memory:chrome:all_processes:reported_by_os:system_memory:native_heap:proportional_resident_size_avg/background/after_https_m_facebook_com_rihanna
Relative Change: 0.76%
Score: 0

Buildbot stdio: http://build.chromium.org/p/tryserver.chromium.perf/builders/android_one_perf_bisect/builds/1664
Job details: https://chromeperf.appspot.com/buildbucket_job_status/9000082775802399936


Not what you expected? We'll investigate and get back to you!
  https://chromeperf.appspot.com/bad_bisect?try_job_id=5820950430351360

| O O | Visit http://www.chromium.org/developers/speed-infra/perf-bug-faq
|  X  | for more information addressing perf regression bugs. For feedback,
| / \ | file a bug with component Tests>AutoBisect.  Thank you!

===== BISECT JOB RESULTS =====
Status: failed


===== TESTED REVISIONS =====
Revision         Mean      Std Dev  N   Good?
chromium@420020  15870606  37640.0  12  good
chromium@420055  15902229  68242.1  12  good
chromium@420073  15853416  52018.7  8   good
chromium@420082  15971739  68501.6  8   bad
chromium@420090  15985821  60503.5  8   bad

Bisect job ran on: android_one_perf_bisect
Bug ID: 651103

Test Command: src/tools/perf/run_benchmark -v --browser=android-chromium --output-format=chartjson --upload-results --also-run-disabled-tests memory.top_10_mobile
Test Metric: memory:chrome:all_processes:reported_by_os:system_memory:native_heap:proportional_resident_size_avg/background/after_https_m_facebook_com_rihanna
Relative Change: 0.90%
Score: 0

Buildbot stdio: http://build.chromium.org/p/tryserver.chromium.perf/builders/android_one_perf_bisect/builds/1669
Job details: https://chromeperf.appspot.com/buildbucket_job_status/8999831613389830816


Not what you expected? We'll investigate and get back to you!
  https://chromeperf.appspot.com/bad_bisect?try_job_id=5798942883708928

| O O | Visit http://www.chromium.org/developers/speed-infra/perf-bug-faq
|  X  | for more information addressing perf regression bugs. For feedback,
| / \ | file a bug with component Tests>AutoBisect.  Thank you!
Owner: yzshen@chromium.org
This seems to have regressed in either r420082 or r420081, but since r420082 only changed unittests, it seems likely to have been r420082 "Mojo C++ bindings: always use MultiplexRouter with InterfacePtr/Binding".

yzshen could you investigate whether your change regressed memory usage on this benchmark?
Cc: roc...@chromium.org
I am ooo until end of October. I could take a look when I am back. If it is urgent, you could revert that cl. Thanks!
yzshen - can you take a look now that it's November? Looks like no one followed up on your request, as it wasn't that urgent. 
Status: Started (was: Assigned)
Thanks for the reminder! Starting.
Project Member

Comment 12 by bugdroid1@chromium.org, Nov 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3fa6ea22828a127d5ee91afe01553531f0932880

commit 3fa6ea22828a127d5ee91afe01553531f0932880
Author: yzshen <yzshen@chromium.org>
Date: Thu Nov 10 21:14:09 2016

Mojo C++ bindings: reduce references to AssociatedGroupController.

If an interface doesn't pass associated kinds, there is no need to store a ref to AssociatedGroupController in the serialization context.

That shouldn't have any effect on the interface pointer side, because all those references will be cleared when pipe disconnection happens or the interface pointer is destroyed. However on the binding side, if we don't do this, as long as someone holds on the any method callback given to the impl, the AssociatedGroupController will be kept alive.

BUG= 651103 

Review-Url: https://codereview.chromium.org/2492463005
Cr-Commit-Position: refs/heads/master@{#431353}

[modify] https://crrev.com/3fa6ea22828a127d5ee91afe01553531f0932880/mojo/public/cpp/bindings/associated_binding.h
[modify] https://crrev.com/3fa6ea22828a127d5ee91afe01553531f0932880/mojo/public/cpp/bindings/lib/associated_interface_ptr_state.h
[modify] https://crrev.com/3fa6ea22828a127d5ee91afe01553531f0932880/mojo/public/cpp/bindings/lib/binding_state.h
[modify] https://crrev.com/3fa6ea22828a127d5ee91afe01553531f0932880/mojo/public/cpp/bindings/lib/interface_ptr_state.h

The following CL has been landed:
https://codereview.chromium.org/2540903002 "Remove MessageLoop destruction observer from mojo::Watcher."


It should also reduce memory consumption a little bit because it removes roughly half of the base::MessageLoop::DestructionObserver instances registered by mojo interface pointers and bindings.

Mergedinto: 719774
Status: Duplicate (was: Started)
Likely this is due to usage of std::deque.

Sign in to add a comment