New issue
Advanced search Search tips

Issue 699198 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug

Blocking:
issue 706923



Sign in to add a comment

Regression of ChromiumPerf/linux-release/rasterize_and_record_micro.partial_invalidation

Project Member Reported by wangxianzhu@chromium.org, Mar 7 2017

Issue description

Labels: BugSource-Chromium PaintTeamTriaged-20170307
Owner: wangxianzhu@chromium.org
Status: Assigned (was: Untriaged)
Assigning just so that someone looks at the bisect result. Re-assign once that comes in.

Comment 3 by pdr@chromium.org, Mar 7 2017

Cc: chrishtr@chromium.org
This seems like https://codereview.chromium.org/2671853003 "[SPInvalidation] Use GeometryMapper in PaintLayerClipper for paint."

Comment 4 by pdr@chromium.org, Mar 7 2017

Cc: -chrishtr@chromium.org wangxianzhu@chromium.org
Owner: chrishtr@chromium.org

=== BISECT JOB RESULTS ===
Bisect was unable to run to completion

The bisect was able to narrow the range, you can try running with:
  good_revision: 8696b1b812cb9a4771ab096414f1ef50521cc576
  bad_revision : 56850c99e856e368af5f440d75d8e8bdb13608f1

If failures persist contact the team (see below) and report the error.


Bisect Details
  Configuration: linux_perf_bisect
  Benchmark    : rasterize_and_record_micro.partial_invalidation
  Metric       : record_time_subsequence_caching_disabled/record_time_subsequence_caching_disabled
  Change       : 21.72% | 0.363666666667 -> 0.442666666667

Revision             Result                      N
chromium@449897      0.363667 +- 0.00182574      6      good
chromium@449899      0.440833 +- 0.00518009      6      bad
chromium@449900      0.448 +- 0.00969536         6      bad
chromium@449902      0.442333 +- 0.00416333      6      bad
chromium@449906      0.442667 +- 0.00270801      6      bad

To Run This Test
  src/tools/perf/run_benchmark -v --browser=release --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests rasterize_and_record_micro.partial_invalidation

Debug Info
  https://chromeperf.appspot.com/buildbucket_job_status/8985754687941064080

Is this bisect wrong?
  https://chromeperf.appspot.com/bad_bisect?try_job_id=5323062922182656


| 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 Speed>Bisection.  Thank you!
I expected https://codereview.chromium.org/2729243002 to
improve performance here, but it seems not. It did locally.
It improved performance, but only a small amount.
The graphs are currently down, but that is because of a patch to turn off
SPInvalidation temporarily at ToT. Still need to find a proper solution.
Labels: ReleaseBlock-Stable M-59
Labels: -Pri-2 Pri-1
Project Member

Comment 11 by bugdroid1@chromium.org, Mar 29 2017

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

commit 9c0482de8c913c46a62bb22b2f22a217e52dbf05
Author: chrishtr <chrishtr@chromium.org>
Date: Wed Mar 29 04:29:27 2017

[SPInvalidation] Always inline the internal methods of PaintLayerClipper.

In local runs with SlimmingPaintInvalidation turned on, this improves
rasterize_and_record_micro.partial_invalidation/subsequence_caching_disabled
from about 0.82ms to 0.62ms, a 25% improvement.

BUG= 699198 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

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

[modify] https://crrev.com/9c0482de8c913c46a62bb22b2f22a217e52dbf05/third_party/WebKit/Source/core/paint/PaintLayerClipper.h

Now that https://chromium.googlesource.com/chromium/src/+/eded34c4a1df9950ea622424f2ee9f76ce852213 has committed, this regression is back. Unfortunately it looks like the commit
in comment 11 only marginally helped.

I hope that https://codereview.chromium.org/2781863005 will help some more, because
it removes an extra call to GeometryMapper from PaintLayerClipper.
Blocking: 706923
The various improvements so far have gotten back a bit less than 50% of the
regression. More work needed.
Friendly ping!
chrishtr@,
Could you please check the issue and update the thread accordingly.
Thank you!
Update: I have a CL in progress which I believe will help this benchmark.
Project Member

Comment 18 by bugdroid1@chromium.org, Apr 17 2017

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

commit 44b96aec9c8b09356c59a7153c6bd7cbb4f9d69f
Author: chrishtr <chrishtr@chromium.org>
Date: Mon Apr 17 20:35:52 2017

[SPInvalidation] Micro-optimize PaintLayerClipper::calculateRects

According to this try job:

https://console.developers.google.com/m/cloudstorage/b/chromium-telemetry/o/html-results/results-2017-04-14_14-14-12

we observe a 5% improvement in caching-disabled performance.

BUG= 699198 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

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

[modify] https://crrev.com/44b96aec9c8b09356c59a7153c6bd7cbb4f9d69f/third_party/WebKit/Source/core/paint/PaintLayerClipper.cpp
[modify] https://crrev.com/44b96aec9c8b09356c59a7153c6bd7cbb4f9d69f/third_party/WebKit/Source/core/paint/PaintLayerClipper.h
[modify] https://crrev.com/44b96aec9c8b09356c59a7153c6bd7cbb4f9d69f/third_party/WebKit/Source/core/paint/PaintLayerClipperTest.cpp

Labels: Merge-Request-59
Requesting merge of commit from comment 18.
Project Member

Comment 20 by sheriffbot@chromium.org, Apr 18 2017

Labels: -Merge-Request-59 Hotlist-Merge-Approved Merge-Approved-59
Your change meets the bar and is auto-approved for M59. Please go ahead and merge the CL to branch 3071 manually. Please contact milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), gkihumba@(ChromeOS), Abdul Syed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 21 by bugdroid1@chromium.org, Apr 18 2017

Labels: -merge-approved-59 merge-merged-3071
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e2f2943d8ff044fc281df0914af513c21ffd6074

commit e2f2943d8ff044fc281df0914af513c21ffd6074
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Tue Apr 18 21:24:41 2017

[SPInvalidation] Micro-optimize PaintLayerClipper::calculateRects

According to this try job:

https://console.developers.google.com/m/cloudstorage/b/chromium-telemetry/o/html-results/results-2017-04-14_14-14-12

we observe a 5% improvement in caching-disabled performance.

BUG= 699198 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2822653003
Cr-Commit-Position: refs/heads/master@{#465005}
(cherry picked from commit 44b96aec9c8b09356c59a7153c6bd7cbb4f9d69f)

Review-Url: https://codereview.chromium.org/2828593002 .
Cr-Commit-Position: refs/branch-heads/3071@{#40}
Cr-Branched-From: a106f0abbf69dad349d4aaf4bcc4f5d376dd2377-refs/heads/master@{#464641}

[modify] https://crrev.com/e2f2943d8ff044fc281df0914af513c21ffd6074/third_party/WebKit/Source/core/paint/PaintLayerClipper.cpp
[modify] https://crrev.com/e2f2943d8ff044fc281df0914af513c21ffd6074/third_party/WebKit/Source/core/paint/PaintLayerClipper.h
[modify] https://crrev.com/e2f2943d8ff044fc281df0914af513c21ffd6074/third_party/WebKit/Source/core/paint/PaintLayerClipperTest.cpp

Status: Fixed (was: Assigned)
Project Member

Comment 23 by bugdroid1@chromium.org, Apr 18 2017

Sign in to add a comment