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

Issue 1864333002: TaskScheduler: Delegate instead of callbacks for SchedulerWorkerThread. (Closed)

Created:
4 years, 8 months ago by fdoray
Modified:
4 years, 8 months ago
Reviewers:
robliao, danakj, gab
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

TaskScheduler: Delegate instead of callbacks for SchedulerWorkerThread. Instead of requiring multiple callbacks in the SchedulerWorkerThread's constructor, require a single delegate with these methods: - OnMainEntry - OnMainExit (no callback equivalent before this CL) - GetWork - RanTaskFromSequence In a previous CL, we decided that it was better to use callbacks than a delegate because OnMainEntry/GetWork were handled by SchedulerThreadPool while RanTaskFromSequence was handled by TaskScheduler. Now that we've added OnMainExit (handled by SchedulerThreadPool), we believe that it's better to make SchedulerThreadPool a delegate of SchedulerWorkerThread. SchedulerThreadPool will invoke a callback bound to TaskScheduler when its RanTaskFromSequence method is called. BUG=553459 Committed: https://crrev.com/80c05e2c9df0f5085bd90748e2239cc41aef24c5 Cr-Commit-Position: refs/heads/master@{#385888}

Patch Set 1 #

Total comments: 5

Patch Set 2 : CR robliao #3 (remove forward declaration) #

Total comments: 6

Patch Set 3 : CR robliao #5 #

Total comments: 12

Patch Set 4 : Add SchedulerWorkerThread* arg to GetWork. #

Patch Set 5 : CR gab #9 #

Patch Set 6 : Verify that OnMainEntry isn't called more than once. #

Total comments: 6

Patch Set 7 : CR gab #18 (add "The Task is still in |sequence| when this is called.") #

Unified diffs Side-by-side diffs Delta from patch set Stats (+124 lines, -139 lines) Patch
M base/task_scheduler/scheduler_worker_thread.h View 1 2 3 4 5 6 5 chunks +35 lines, -35 lines 0 comments Download
M base/task_scheduler/scheduler_worker_thread.cc View 1 2 3 4 4 chunks +16 lines, -25 lines 0 comments Download
M base/task_scheduler/scheduler_worker_thread_unittest.cc View 1 2 3 4 5 6 chunks +73 lines, -79 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 33 (12 generated)
fdoray
gab@, robliao@: Can you review this CL? Thanks.
4 years, 8 months ago (2016-04-06 20:38:39 UTC) #2
robliao
https://codereview.chromium.org/1864333002/diff/1/base/task_scheduler/scheduler_worker_thread.cc File base/task_scheduler/scheduler_worker_thread.cc (right): https://codereview.chromium.org/1864333002/diff/1/base/task_scheduler/scheduler_worker_thread.cc#newcode71 base/task_scheduler/scheduler_worker_thread.cc:71: scoped_refptr<Sequence> sequence = delegate_->GetWork(); What's the plan for getting ...
4 years, 8 months ago (2016-04-06 20:50:18 UTC) #3
fdoray
robliao@: Done. https://codereview.chromium.org/1864333002/diff/1/base/task_scheduler/scheduler_worker_thread.cc File base/task_scheduler/scheduler_worker_thread.cc (right): https://codereview.chromium.org/1864333002/diff/1/base/task_scheduler/scheduler_worker_thread.cc#newcode71 base/task_scheduler/scheduler_worker_thread.cc:71: scoped_refptr<Sequence> sequence = delegate_->GetWork(); On 2016/04/06 20:50:18, ...
4 years, 8 months ago (2016-04-06 21:11:38 UTC) #4
robliao
lgtm + nits https://codereview.chromium.org/1864333002/diff/1/base/task_scheduler/scheduler_worker_thread.cc File base/task_scheduler/scheduler_worker_thread.cc (right): https://codereview.chromium.org/1864333002/diff/1/base/task_scheduler/scheduler_worker_thread.cc#newcode71 base/task_scheduler/scheduler_worker_thread.cc:71: scoped_refptr<Sequence> sequence = delegate_->GetWork(); On 2016/04/06 ...
4 years, 8 months ago (2016-04-06 21:28:20 UTC) #5
fdoray
robliao@: Thanks. gab@: Can you review this CL? https://codereview.chromium.org/1864333002/diff/20001/base/task_scheduler/scheduler_worker_thread.h File base/task_scheduler/scheduler_worker_thread.h (right): https://codereview.chromium.org/1864333002/diff/20001/base/task_scheduler/scheduler_worker_thread.h#newcode37 base/task_scheduler/scheduler_worker_thread.h:37: // ...
4 years, 8 months ago (2016-04-07 13:53:41 UTC) #6
fdoray
danakj@: Can you review this CL? I rebased the SchedulerThreadPool CL to use this delegate ...
4 years, 8 months ago (2016-04-07 16:20:23 UTC) #8
gab
lgtm w/ move to SchedulerWorkerThread:: and nits https://codereview.chromium.org/1864333002/diff/40001/base/task_scheduler/scheduler_worker_thread_delegate.h File base/task_scheduler/scheduler_worker_thread_delegate.h (right): https://codereview.chromium.org/1864333002/diff/40001/base/task_scheduler/scheduler_worker_thread_delegate.h#newcode16 base/task_scheduler/scheduler_worker_thread_delegate.h:16: class SchedulerWorkerThreadDelegate ...
4 years, 8 months ago (2016-04-07 16:42:08 UTC) #9
fdoray
gab@: Done. danakj@: Can you review this CL? Thanks. https://codereview.chromium.org/1864333002/diff/40001/base/task_scheduler/scheduler_worker_thread_delegate.h File base/task_scheduler/scheduler_worker_thread_delegate.h (right): https://codereview.chromium.org/1864333002/diff/40001/base/task_scheduler/scheduler_worker_thread_delegate.h#newcode16 base/task_scheduler/scheduler_worker_thread_delegate.h:16: ...
4 years, 8 months ago (2016-04-07 17:59:33 UTC) #10
danakj
LGTM! 1 question https://codereview.chromium.org/1864333002/diff/100001/base/task_scheduler/scheduler_worker_thread_unittest.cc File base/task_scheduler/scheduler_worker_thread_unittest.cc (right): https://codereview.chromium.org/1864333002/diff/100001/base/task_scheduler/scheduler_worker_thread_unittest.cc#newcode53 base/task_scheduler/scheduler_worker_thread_unittest.cc:53: EXPECT_TRUE(main_exit_called_); What's the point of OnMainExit ...
4 years, 8 months ago (2016-04-07 18:40:59 UTC) #11
fdoray
https://codereview.chromium.org/1864333002/diff/100001/base/task_scheduler/scheduler_worker_thread_unittest.cc File base/task_scheduler/scheduler_worker_thread_unittest.cc (right): https://codereview.chromium.org/1864333002/diff/100001/base/task_scheduler/scheduler_worker_thread_unittest.cc#newcode53 base/task_scheduler/scheduler_worker_thread_unittest.cc:53: EXPECT_TRUE(main_exit_called_); On 2016/04/07 18:40:59, danakj wrote: > What's the ...
4 years, 8 months ago (2016-04-07 18:46:59 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1864333002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1864333002/100001
4 years, 8 months ago (2016-04-07 18:48:20 UTC) #15
danakj
https://codereview.chromium.org/1864333002/diff/100001/base/task_scheduler/scheduler_worker_thread_unittest.cc File base/task_scheduler/scheduler_worker_thread_unittest.cc (right): https://codereview.chromium.org/1864333002/diff/100001/base/task_scheduler/scheduler_worker_thread_unittest.cc#newcode53 base/task_scheduler/scheduler_worker_thread_unittest.cc:53: EXPECT_TRUE(main_exit_called_); On 2016/04/07 18:46:58, fdoray wrote: > On 2016/04/07 ...
4 years, 8 months ago (2016-04-07 18:49:10 UTC) #16
gab
https://codereview.chromium.org/1864333002/diff/100001/base/task_scheduler/scheduler_worker_thread_unittest.cc File base/task_scheduler/scheduler_worker_thread_unittest.cc (right): https://codereview.chromium.org/1864333002/diff/100001/base/task_scheduler/scheduler_worker_thread_unittest.cc#newcode53 base/task_scheduler/scheduler_worker_thread_unittest.cc:53: EXPECT_TRUE(main_exit_called_); On 2016/04/07 18:40:59, danakj wrote: > What's the ...
4 years, 8 months ago (2016-04-07 18:50:20 UTC) #17
gab
https://codereview.chromium.org/1864333002/diff/100001/base/task_scheduler/scheduler_worker_thread.h File base/task_scheduler/scheduler_worker_thread.h (right): https://codereview.chromium.org/1864333002/diff/100001/base/task_scheduler/scheduler_worker_thread.h#newcode51 base/task_scheduler/scheduler_worker_thread.h:51: // |sequence| (a TaskTracker might have prevented the Task ...
4 years, 8 months ago (2016-04-07 18:52:00 UTC) #18
fdoray
https://codereview.chromium.org/1864333002/diff/100001/base/task_scheduler/scheduler_worker_thread.h File base/task_scheduler/scheduler_worker_thread.h (right): https://codereview.chromium.org/1864333002/diff/100001/base/task_scheduler/scheduler_worker_thread.h#newcode51 base/task_scheduler/scheduler_worker_thread.h:51: // |sequence| (a TaskTracker might have prevented the Task ...
4 years, 8 months ago (2016-04-07 19:02:16 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1864333002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1864333002/120001
4 years, 8 months ago (2016-04-07 19:03:20 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1864333002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1864333002/120001
4 years, 8 months ago (2016-04-07 19:19:34 UTC) #26
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/193239)
4 years, 8 months ago (2016-04-07 20:17:15 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1864333002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1864333002/120001
4 years, 8 months ago (2016-04-07 20:41:32 UTC) #30
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 8 months ago (2016-04-07 21:54:30 UTC) #31
commit-bot: I haz the power
4 years, 8 months ago (2016-04-07 21:57:16 UTC) #33
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/80c05e2c9df0f5085bd90748e2239cc41aef24c5
Cr-Commit-Position: refs/heads/master@{#385888}

Powered by Google App Engine
This is Rietveld 408576698