Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(38)

Issue 1247033007: cc: Abort frame when becoming invisible and waiting for ready to draw. (Closed)

Created:
5 years, 5 months ago by sunnyps
Modified:
5 years, 5 months ago
Reviewers:
danakj, brianderson
CC:
chromium-reviews, glider+watch_chromium.org, cc-bugs_chromium.org, scheduler-bugs_chromium.org, bruening+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

cc: Abort frame when becoming invisible and waiting for ready to draw. The scheduler didn't work correctly when becoming invisible if it was waiting for ready to draw. It wouldn't end the current frame which meant that it would never get the ready to draw unless we did an extra PrepareTiles on becoming visible again. This PrepareTiles happened outside of the impl frame which meant that it would contend for cpu time with v8 idle time work. This caused a v8 regression which couldn't be fixed except by removing the extra PrepareTiles. BUG=510295 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/c3f6e0c653bc113b52540ae695ef17830c13c6c2 Cr-Commit-Position: refs/heads/master@{#340387}

Patch Set 1 #

Total comments: 8

Patch Set 2 : Remove race between ready to draw and set visible #

Total comments: 4

Patch Set 3 : address comments #

Patch Set 4 : Remove race from test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+103 lines, -42 lines) Patch
M cc/scheduler/scheduler.h View 1 chunk +0 lines, -2 lines 0 comments Download
M cc/scheduler/scheduler.cc View 1 chunk +0 lines, -5 lines 0 comments Download
M cc/scheduler/scheduler_state_machine.h View 3 chunks +2 lines, -4 lines 0 comments Download
M cc/scheduler/scheduler_state_machine.cc View 10 chunks +17 lines, -15 lines 0 comments Download
M cc/scheduler/scheduler_unittest.cc View 5 chunks +5 lines, -6 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 chunk +3 lines, -5 lines 0 comments Download
M cc/trees/layer_tree_host_unittest.cc View 1 2 3 1 chunk +73 lines, -0 lines 0 comments Download
M cc/trees/single_thread_proxy.cc View 2 chunks +2 lines, -5 lines 0 comments Download
M tools/valgrind/gtest_exclude/cc_unittests.gtest-drmemory_win32.txt View 1 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 23 (10 generated)
sunnyps
PTAL
5 years, 5 months ago (2015-07-23 00:08:22 UTC) #2
brianderson
Only have a few comments regarding testing, but the rest of the patch looks good. ...
5 years, 5 months ago (2015-07-23 02:00:23 UTC) #3
sunnyps
PTAL Removed the LayerTreeHostTestReadyToActivateVisibility because there's literally no way to make it race free without ...
5 years, 5 months ago (2015-07-23 22:20:44 UTC) #4
sunnyps
Oh and BTW this CL does fix the v8 idle time regression. Results are still ...
5 years, 5 months ago (2015-07-23 22:22:03 UTC) #5
brianderson
lgtm https://codereview.chromium.org/1247033007/diff/1/tools/valgrind/gtest_exclude/cc_unittests.gtest-drmemory_win32.txt File tools/valgrind/gtest_exclude/cc_unittests.gtest-drmemory_win32.txt (right): https://codereview.chromium.org/1247033007/diff/1/tools/valgrind/gtest_exclude/cc_unittests.gtest-drmemory_win32.txt#newcode14 tools/valgrind/gtest_exclude/cc_unittests.gtest-drmemory_win32.txt:14: LayerTreeHostTestReadyToDrawVisibility.* On 2015/07/23 22:20:44, sunnyps wrote: > On ...
5 years, 5 months ago (2015-07-23 22:58:15 UTC) #6
brianderson
On 2015/07/23 22:22:03, sunnyps wrote: > Oh and BTW this CL does fix the v8 ...
5 years, 5 months ago (2015-07-23 23:06:17 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1247033007/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1247033007/40001
5 years, 5 months ago (2015-07-23 23:10:37 UTC) #10
sunnyps
https://codereview.chromium.org/1247033007/diff/20001/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (right): https://codereview.chromium.org/1247033007/diff/20001/cc/trees/layer_tree_host_unittest.cc#newcode287 cc/trees/layer_tree_host_unittest.cc:287: layer_tree_host()->SetVisible(false); On 2015/07/23 22:58:15, brianderson wrote: > EXPECT_FALSE(host_impl->visible()) here? ...
5 years, 5 months ago (2015-07-23 23:10:50 UTC) #11
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_compile_dbg_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/62716)
5 years, 5 months ago (2015-07-24 03:58:00 UTC) #13
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1247033007/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1247033007/60001
5 years, 5 months ago (2015-07-24 23:59:46 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1247033007/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1247033007/60001
5 years, 5 months ago (2015-07-25 00:14:30 UTC) #21
commit-bot: I haz the power
Committed patchset #4 (id:60001)
5 years, 5 months ago (2015-07-25 01:01:06 UTC) #22
commit-bot: I haz the power
5 years, 5 months ago (2015-07-25 01:02:06 UTC) #23
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/c3f6e0c653bc113b52540ae695ef17830c13c6c2
Cr-Commit-Position: refs/heads/master@{#340387}

Powered by Google App Engine
This is Rietveld 408576698