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

Issue 337693005: cc: Control defer_commits logic by Scheduler (Closed)

Created:
6 years, 6 months ago by simonhong
Modified:
5 years, 10 months ago
CC:
chromium-reviews, cc-bugs_chromium.org, jamesr
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

cc: Control defer_commits logic by Scheduler So far, EarlyOut_DeferCommits is controlled by Proxy. Because Scheduler doesn't know about this deferring, it triggers next BeginMainFrame when main thread want to defer a commit. This CL moves the EarlyOut_DeferCommits logic from Proxy to Scheduler so Scheduler can stop next BeginMainFrame until defer commit is off. R=brianderson@chromium.org, danakj@chromium.org, skyostil@chromium.org BUG=382572, 453787 TEST=cc_unittests Committed: https://crrev.com/1625b74468e4dd55f54ba209f8e91d05493875b9 Cr-Commit-Position: refs/heads/master@{#313816} Committed: https://crrev.com/c6309f7935e704df53ceb02260b3696a13e9e0cc Cr-Commit-Position: refs/heads/master@{#314057}

Patch Set 1 : #

Total comments: 8

Patch Set 2 : WIP #

Total comments: 1

Patch Set 3 : Rebased on master(need to check tests) #

Patch Set 4 : #

Total comments: 16

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Total comments: 12

Patch Set 8 : #

Patch Set 9 : #

Total comments: 4

Patch Set 10 : WIP #

Patch Set 11 : #

Total comments: 6

Patch Set 12 : #

Patch Set 13 : Fix flaky test #

Patch Set 14 : #

Total comments: 2

Patch Set 15 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+301 lines, -92 lines) Patch
M cc/scheduler/commit_earlyout_reason.h View 1 2 3 4 5 6 7 2 chunks +3 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +8 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler_state_machine.h View 1 2 3 4 5 6 7 2 chunks +3 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler_state_machine.cc View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +12 lines, -1 line 0 comments Download
M cc/scheduler/scheduler_state_machine_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +23 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +70 lines, -0 lines 0 comments Download
M cc/test/layer_tree_test.h View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +3 lines, -1 line 0 comments Download
M cc/test/layer_tree_test.cc View 1 2 3 4 5 6 7 8 9 6 chunks +94 lines, -11 lines 0 comments Download
M cc/trees/layer_tree_host.h View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -3 lines 0 comments Download
M cc/trees/layer_tree_host.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +0 lines, -2 lines 0 comments Download
M cc/trees/layer_tree_host_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 14 5 chunks +57 lines, -36 lines 0 comments Download
M cc/trees/layer_tree_host_unittest_context.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +2 lines, -16 lines 0 comments Download
M cc/trees/single_thread_proxy.h View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -2 lines 0 comments Download
M cc/trees/single_thread_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +5 lines, -8 lines 0 comments Download
M cc/trees/thread_proxy.h View 1 2 3 4 5 6 7 8 9 2 chunks +1 line, -1 line 0 comments Download
M cc/trees/thread_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +16 lines, -11 lines 0 comments Download

Messages

Total messages: 44 (7 generated)
simonhong
Please check initial version. I'll add more unit tests when reviewers confirms this cl is ...
6 years, 6 months ago (2014-06-17 01:20:43 UTC) #1
brianderson
Thanks Simon. Approach looks good. @enne: Do you see any potential problems with aborting the ...
6 years, 6 months ago (2014-06-17 15:57:02 UTC) #2
simonhong
kindly ping to enne. https://codereview.chromium.org/337693005/diff/20001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/337693005/diff/20001/cc/scheduler/scheduler.cc#newcode617 cc/scheduler/scheduler.cc:617: state_machine_.SetDeferCommits(defer_commits); On 2014/06/17 15:57:01, brianderson ...
6 years, 6 months ago (2014-06-18 21:52:06 UTC) #3
enne (OOO)
Sorry, I am trying to land https://codereview.chromium.org/134623005/ which adds deferred commits to SingleThreadProxy and so ...
6 years, 6 months ago (2014-06-18 22:25:24 UTC) #4
simonhong
On 2014/06/18 22:25:24, enne wrote: > Sorry, I am trying to land https://codereview.chromium.org/134623005/ which adds ...
6 years, 6 months ago (2014-06-19 00:01:37 UTC) #5
Sami
I like the idea of moving this logic to the scheduler. Could use some tests ...
6 years, 6 months ago (2014-06-19 18:26:08 UTC) #6
simonhong
On 2014/06/19 18:26:08, Sami wrote: > I like the idea of moving this logic to ...
6 years, 6 months ago (2014-06-20 00:12:22 UTC) #7
mithro-old
On 2014/06/20 00:12:22, simonhong wrote: > On 2014/06/19 18:26:08, Sami wrote: > > I like ...
6 years, 5 months ago (2014-07-02 10:16:04 UTC) #8
mithro-old
On 2014/06/20 00:12:22, simonhong wrote: > On 2014/06/19 18:26:08, Sami wrote: > > I like ...
6 years, 5 months ago (2014-07-02 10:16:08 UTC) #9
simonhong
danakj@ what do you think this change?
6 years, 1 month ago (2014-11-19 16:19:08 UTC) #11
danakj
https://codereview.chromium.org/337693005/diff/90001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/337693005/diff/90001/cc/scheduler/scheduler_state_machine.cc#newcode776 cc/scheduler/scheduler_state_machine.cc:776: if (defer_commits_) Why is the ShouldSendBeginMainFrame() change not enough? ...
6 years, 1 month ago (2014-11-19 16:31:34 UTC) #12
brianderson
https://codereview.chromium.org/337693005/diff/90001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/337693005/diff/90001/cc/scheduler/scheduler_state_machine.cc#newcode776 cc/scheduler/scheduler_state_machine.cc:776: if (defer_commits_) On 2014/11/19 16:31:33, danakj wrote: > Why ...
6 years, 1 month ago (2014-11-19 19:55:07 UTC) #13
simonhong
Sorry for late reply. Please take a look again. https://codereview.chromium.org/337693005/diff/90001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/337693005/diff/90001/cc/scheduler/scheduler_state_machine.cc#newcode776 cc/scheduler/scheduler_state_machine.cc:776: ...
6 years ago (2014-11-26 15:52:53 UTC) #14
brianderson
https://codereview.chromium.org/337693005/diff/90001/cc/trees/single_thread_proxy.cc File cc/trees/single_thread_proxy.cc (right): https://codereview.chromium.org/337693005/diff/90001/cc/trees/single_thread_proxy.cc#newcode667 cc/trees/single_thread_proxy.cc:667: layer_tree_host_->DidDeferCommit(); On 2014/11/26 15:52:53, simonhong wrote: > On 2014/11/19 ...
6 years ago (2014-12-03 02:12:11 UTC) #15
simonhong
Let's fix this old issue :) Please take another look! https://codereview.chromium.org/337693005/diff/150001/cc/scheduler/scheduler_state_machine_unittest.cc File cc/scheduler/scheduler_state_machine_unittest.cc (right): https://codereview.chromium.org/337693005/diff/150001/cc/scheduler/scheduler_state_machine_unittest.cc#newcode1855 ...
5 years, 11 months ago (2015-01-19 14:53:33 UTC) #16
enne (OOO)
https://codereview.chromium.org/337693005/diff/150001/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (left): https://codereview.chromium.org/337693005/diff/150001/cc/trees/layer_tree_host_unittest.cc#oldcode4726 cc/trees/layer_tree_host_unittest.cc:4726: class LayerTreeHostTestBreakSwapPromiseForVisibilityAbortedCommit On 2015/01/19 14:53:33, simonhong wrote: > On ...
5 years, 11 months ago (2015-01-23 01:35:21 UTC) #17
brianderson
I don't have any comments on top of what enne has already said. If you ...
5 years, 11 months ago (2015-01-27 01:55:15 UTC) #18
simonhong
I think all comments are cleared. :) PTAL again! https://codereview.chromium.org/337693005/diff/150001/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (left): https://codereview.chromium.org/337693005/diff/150001/cc/trees/layer_tree_host_unittest.cc#oldcode4726 cc/trees/layer_tree_host_unittest.cc:4726: ...
5 years, 10 months ago (2015-01-28 19:44:25 UTC) #19
brianderson
https://codereview.chromium.org/337693005/diff/230001/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (right): https://codereview.chromium.org/337693005/diff/230001/cc/trees/layer_tree_host_unittest.cc#newcode2074 cc/trees/layer_tree_host_unittest.cc:2074: EXPECT_EQ(3, num_will_begin_impl_frame_); Assuming an exact number of BeginImplFrames have ...
5 years, 10 months ago (2015-01-29 04:30:53 UTC) #20
simonhong
All done. PTAL! https://codereview.chromium.org/337693005/diff/230001/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (right): https://codereview.chromium.org/337693005/diff/230001/cc/trees/layer_tree_host_unittest.cc#newcode2074 cc/trees/layer_tree_host_unittest.cc:2074: EXPECT_EQ(3, num_will_begin_impl_frame_); On 2015/01/29 04:30:53, brianderson ...
5 years, 10 months ago (2015-01-29 16:22:17 UTC) #21
brianderson
lgtm
5 years, 10 months ago (2015-01-29 22:26:32 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/337693005/250001
5 years, 10 months ago (2015-01-29 22:58:29 UTC) #24
commit-bot: I haz the power
Committed patchset #12 (id:250001)
5 years, 10 months ago (2015-01-29 23:03:46 UTC) #25
commit-bot: I haz the power
Patchset 12 (id:??) landed as https://crrev.com/1625b74468e4dd55f54ba209f8e91d05493875b9 Cr-Commit-Position: refs/heads/master@{#313816}
5 years, 10 months ago (2015-01-29 23:05:27 UTC) #26
danakj
A revert of this CL (patchset #12 id:250001) has been created in https://codereview.chromium.org/870183004/ by danakj@chromium.org. ...
5 years, 10 months ago (2015-01-30 17:47:54 UTC) #27
simonhong
@danakj, brianderson, I uploaded a patch to fix flaky test (LayerTreeHostTestDeferCommits). The reason is ImplFrame ...
5 years, 10 months ago (2015-01-30 23:56:44 UTC) #28
danakj
On 2015/01/30 23:56:44, simonhong wrote: > @danakj, brianderson, I uploaded a patch to fix flaky ...
5 years, 10 months ago (2015-01-30 23:57:50 UTC) #29
simonhong
On 2015/01/30 23:56:44, simonhong wrote: > @danakj, brianderson, I uploaded a patch to fix flaky ...
5 years, 10 months ago (2015-01-30 23:58:03 UTC) #30
danakj
On Fri, Jan 30, 2015 at 3:58 PM, <simonhong@chromium.org> wrote: > On 2015/01/30 23:56:44, simonhong ...
5 years, 10 months ago (2015-01-30 23:59:52 UTC) #31
simonhong
On 2015/01/30 23:57:50, danakj wrote: > On 2015/01/30 23:56:44, simonhong wrote: > > @danakj, brianderson, ...
5 years, 10 months ago (2015-01-31 00:06:24 UTC) #32
brianderson
https://codereview.chromium.org/337693005/diff/320001/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (right): https://codereview.chromium.org/337693005/diff/320001/cc/trees/layer_tree_host_unittest.cc#newcode2071 cc/trees/layer_tree_host_unittest.cc:2071: EXPECT_GT(num_will_begin_impl_frame_, num_send_begin_main_frame_); I don't think it should be possible ...
5 years, 10 months ago (2015-01-31 01:45:24 UTC) #35
simonhong
https://codereview.chromium.org/337693005/diff/320001/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (right): https://codereview.chromium.org/337693005/diff/320001/cc/trees/layer_tree_host_unittest.cc#newcode2071 cc/trees/layer_tree_host_unittest.cc:2071: EXPECT_GT(num_will_begin_impl_frame_, num_send_begin_main_frame_); On 2015/01/31 01:45:24, brianderson wrote: > I ...
5 years, 10 months ago (2015-01-31 02:03:53 UTC) #36
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/337693005/340001
5 years, 10 months ago (2015-01-31 02:14:14 UTC) #38
commit-bot: I haz the power
Try jobs failed on following builders: win8_chromium_gn_rel on tryserver.chromium.win (http://build.chromium.org/p/tryserver.chromium.win/builders/win8_chromium_gn_rel/builds/3617)
5 years, 10 months ago (2015-01-31 12:06:52 UTC) #40
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/337693005/340001
5 years, 10 months ago (2015-01-31 12:53:46 UTC) #42
commit-bot: I haz the power
Committed patchset #15 (id:340001)
5 years, 10 months ago (2015-01-31 15:47:43 UTC) #43
commit-bot: I haz the power
5 years, 10 months ago (2015-01-31 15:48:40 UTC) #44
Message was sent while issue was closed.
Patchset 15 (id:??) landed as
https://crrev.com/c6309f7935e704df53ceb02260b3696a13e9e0cc
Cr-Commit-Position: refs/heads/master@{#314057}

Powered by Google App Engine
This is Rietveld 408576698