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

Issue 760679 link

Starred by 2 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug-Regression



Sign in to add a comment

143.6%-590.3% regression in thread_times.tough_scrolling_cases at 498018:498248

Project Member Reported by pmeenan@chromium.org, Aug 30 2017

Issue description

See the link to graphs below.
 
Project Member

Comment 1 by 42576172...@developer.gserviceaccount.com, Aug 30 2017

All graphs for this bug:
  https://chromeperf.appspot.com/group_report?bug_id=760679

(For debugging:) Original alerts at time of bug-filing:
  https://chromeperf.appspot.com/group_report?sid=7713442804bee1b4ae348690154ddb8130a808bfcb11a0c11fff3d213a2b9df4


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

android-nexus6
Project Member

Comment 3 by 42576172...@developer.gserviceaccount.com, Aug 30 2017

Cc: chaopeng@chromium.org
Owner: chaopeng@chromium.org
Status: Assigned (was: Untriaged)

=== Auto-CCing suspected CL author chaopeng@chromium.org ===

Hi chaopeng@chromium.org, the bisect results pointed to your CL, please take a look at the
results.


=== BISECT JOB RESULTS ===
Perf regression found with culprit

Suspected Commit
  Author : chaopeng
  Commit : 840d165b6ac02f10342147c556e67c776e1dd3da
  Date   : Tue Aug 29 19:19:03 2017
  Subject: Call ScrollBegin/End in LTI behind latching flag

Bisect Details
  Configuration: android_nexus6_perf_bisect
  Benchmark    : thread_times.tough_scrolling_cases
  Metric       : thread_raster_cpu_time_per_frame/text_hover_30000_pixels_per_second
  Change       : 592.77% | 1.92895031274 -> 13.3630972222

Revision             Result                   N
chromium@498017      1.92895 +- 0.471491      6      good
chromium@498133      1.88529 +- 0.470352      6      good
chromium@498191      1.90226 +- 0.477321      6      good
chromium@498192      11.7195 +- 6.73676       6      bad       <--
chromium@498193      9.30004 +- 4.89355       6      bad
chromium@498195      12.3658 +- 13.2935       6      bad
chromium@498199      12.7941 +- 5.25663       6      bad
chromium@498206      13.8929 +- 3.55465       6      bad
chromium@498220      12.6313 +- 7.24813       6      bad
chromium@498248      13.3631 +- 3.83059       6      bad

To Run This Test
  src/tools/perf/run_benchmark -v --browser=android-chromium --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests --story-filter=text.hover.30000.pixels.per.second thread_times.tough_scrolling_cases

More information on addressing performance regressions:
  http://g.co/ChromePerformanceRegressions

Debug information about this bisect:
  https://chromeperf.appspot.com/buildbucket_job_status/8969809536062994016


For feedback, file a bug with component Speed>Bisection
It really unlike my this patch affect the regression since this patch is behind flag. Will check the graph tomorrow. 
Kicked off another bisect just in case but one change in the CL that jumps out that isn't behind a flag is that the scrolling_node check used to be in an else block from the main_thread if statement but the else was removed and it is always checked now.
That else remove because the if before always return.
Sorry about that.

That said, it looks like the flag is enabled for the bots:

https://cs.chromium.org/chromium/src/testing/variations/fieldtrial_testing_config.json?type=cs&l=3570
Project Member

Comment 9 by 42576172...@developer.gserviceaccount.com, Aug 30 2017


=== BISECT JOB RESULTS ===
Perf regression found with culprit

Suspected Commit
  Author : chaopeng
  Commit : 840d165b6ac02f10342147c556e67c776e1dd3da
  Date   : Tue Aug 29 19:19:03 2017
  Subject: Call ScrollBegin/End in LTI behind latching flag

Bisect Details
  Configuration: android_nexus6_perf_bisect
  Benchmark    : thread_times.tough_scrolling_cases
  Metric       : thread_raster_cpu_time_per_frame/text_hover_20000_pixels_per_second

Revision             Result                   N
chromium@498017      1.84953 +- 0.809142      6      good
chromium@498133      2.06804 +- 0.956499      6      good
chromium@498191      1.9221 +- 0.716363       6      good
chromium@498192      12.0644 +- 6.3891        6      bad       <--
chromium@498193      11.3258 +- 4.72047       6      bad
chromium@498195      7.82368 +- 1.97915       6      bad
chromium@498199      9.39508 +- 5.55456       6      bad
chromium@498206      8.51817 +- 5.09399       6      bad
chromium@498220      9.71975 +- 3.76067       6      bad
chromium@498248      10.6056 +- 6.37751       6      bad

To Run This Test
  src/tools/perf/run_benchmark -v --browser=android-chromium --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests --story-filter=text.hover.20000.pixels.per.second thread_times.tough_scrolling_cases

More information on addressing performance regressions:
  http://g.co/ChromePerformanceRegressions

Debug information about this bisect:
  https://chromeperf.appspot.com/buildbucket_job_status/8969803405300380768


For feedback, file a bug with component Speed>Bisection
For this patch, we have 531c953d094216075f9a0d81ebc2a9776825ff7f remove the ScrollBegin/End and 840d165b6ac02f10342147c556e67c776e1dd3da add them back behind flag. And 840d165b6ac02f10342147c556e67c776e1dd3da intent to improve the scroll performance. 

I will revert 840d165b6ac02f10342147c556e67c776e1dd3da if it still high tomorrow.
Project Member

Comment 11 by bugdroid1@chromium.org, Aug 31 2017

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

commit 66105d902330447549fd63350bf62b90d225b6d4
Author: Jianpeng Chao <chaopeng@chromium.org>
Date: Thu Aug 31 22:10:11 2017

Revert "Call ScrollBegin/End in LTI behind latching flag"

This reverts commit 840d165b6ac02f10342147c556e67c776e1dd3da.

Reason for revert: Test regression crbug.com/760679

Original change's description:
> Call ScrollBegin/End in LTI behind latching flag
> 
> In this patch, we call ScrollBegin in LTI::ScrollBegin/ScrollBeginImpl
> and ScrollEnd in LTI::ScrollEnd behind latching flag. Since latching
> will guarantee ScrollBegin/End apply to the same layer.
> 
> Bug: 755576
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> Change-Id: I90e82dc56907aeedf7f6d62d77089944504ae1eb
> Reviewed-on: https://chromium-review.googlesource.com/627117
> Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
> Reviewed-by: weiliangc <weiliangc@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#498192}

TBR=weiliangc@chromium.org,chaopeng@chromium.org,sahel@chromium.org

Change-Id: I3664e59dc819032a721cfbe531871de98ee6562f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 755576, 760679
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/643989
Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
Reviewed-by: weiliangc <weiliangc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499034}
[modify] https://crrev.com/66105d902330447549fd63350bf62b90d225b6d4/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/66105d902330447549fd63350bf62b90d225b6d4/cc/trees/layer_tree_host_impl_unittest.cc


=== Auto-CCing suspected CL author chaopeng@chromium.org ===

Hi chaopeng@chromium.org, the bisect results pointed to your CL, please take a look at the
results.


=== BISECT JOB RESULTS ===
Perf regression found with culprit

Suspected Commit
  Author : Jianpeng Chao
  Commit : 66105d902330447549fd63350bf62b90d225b6d4
  Date   : Thu Aug 31 22:10:11 2017
  Subject: Revert "Call ScrollBegin/End in LTI behind latching flag"

Bisect Details
  Configuration: android_nexus5X_perf_bisect
  Benchmark    : thread_times.tough_scrolling_cases
  Metric       : thread_total_all_cpu_time_per_frame/text_hover_05000_pixels_per_second
  Change       : 72.77% | 232.329365741 -> 63.2558826297

Revision             Result                  N
chromium@498936      232.329 +- 34.0034      6      good
chromium@498995      244.284 +- 11.9499      6      good
chromium@499024      238.583 +- 27.8741      6      good
chromium@499032      240.058 +- 25.4235      6      good
chromium@499033      228.082 +- 33.1847      6      good
chromium@499034      65.8193 +- 12.7727      6      bad       <--
chromium@499036      64.6564 +- 11.6748      6      bad
chromium@499039      70.0327 +- 3.30077      6      bad
chromium@499053      63.2559 +- 11.5961      6      bad

To Run This Test
  src/tools/perf/run_benchmark -v --browser=android-chromium --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests --story-filter=text.hover.05000.pixels.per.second thread_times.tough_scrolling_cases

More information on addressing performance regressions:
  http://g.co/ChromePerformanceRegressions

Debug information about this bisect:
  https://chromeperf.appspot.com/buildbucket_job_status/8969284557507631248


For feedback, file a bug with component Speed>Bisection
Cc: briander...@chromium.org
 Issue 762240  has been merged into this issue.
Cc: bokan@chromium.org
Status: Fixed (was: Assigned)
The BISECT indicate the issue is fixed by the revert patch.
Status: Started (was: Fixed)
chaopeng: did you mean to re-open this in #16? Or can we mark closed?
Labels: -Pri-2 Pri-3
sullivan@, yes, I marked it open since we still want to investigate the reason.
Labels: -Performance-Sheriff
Removing perf sheriff label so we don't keep pinging while you investigate.
Components: Internals>GPU>Metrics
Cc: -pmeenan@chromium.org

Sign in to add a comment