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

Issue 1806473002: TaskScheduler [9] Delayed Task Manager (Closed)

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

Description

TaskScheduler [9] Delayed Task Manager A DelayedTaskManager holds delayed tasks until they become ripe for execution. When they become ripe for execution, it posts them to their associated Sequence and PriorityQueue. This change is a subset of https://codereview.chromium.org/1698183005/ BUG=553459 Committed: https://crrev.com/c308c577db26c7edc37a1002dd62a18ce9bbdef6 Cr-Commit-Position: refs/heads/master@{#388398}

Patch Set 1 #

Patch Set 2 : Initial implementation for review. #

Total comments: 15

Patch Set 3 : CR robliao #6 #

Total comments: 10

Patch Set 4 : CR robliao #8 #

Total comments: 38

Patch Set 5 : CR gab #11 #

Patch Set 6 : CR gab #14 + stop using a callback to post tasks. #

Patch Set 7 : self review #

Patch Set 8 : self review #

Patch Set 9 : self review #

Total comments: 22

Patch Set 10 : CR gab #17 #

Total comments: 6

Patch Set 11 : CR gab #20 (nits + comments about memory management) #

Patch Set 12 : self review #

Patch Set 13 : CR gab #22 (TODO for WeakPtr) #

Patch Set 14 : rebase #

Total comments: 2

Patch Set 15 : rebase #

Total comments: 8

Patch Set 16 : rebase #

Total comments: 3

Patch Set 17 : CR danakj #29 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+541 lines, -35 lines) Patch
M base/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +3 lines, -0 lines 0 comments Download
M base/base.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -0 lines 0 comments Download
M base/base.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +2 lines, -0 lines 0 comments Download
A base/task_scheduler/delayed_task_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +87 lines, -0 lines 0 comments Download
A base/task_scheduler/delayed_task_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +148 lines, -0 lines 0 comments Download
A base/task_scheduler/delayed_task_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +214 lines, -0 lines 0 comments Download
M base/task_scheduler/scheduler_thread_pool.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +9 lines, -4 lines 0 comments Download
M base/task_scheduler/scheduler_thread_pool.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 10 chunks +32 lines, -17 lines 0 comments Download
M base/task_scheduler/scheduler_thread_pool_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +4 lines, -2 lines 0 comments Download
M base/task_scheduler/utils.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +5 lines, -2 lines 0 comments Download
M base/task_scheduler/utils.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +11 lines, -5 lines 0 comments Download
M base/task_scheduler/utils_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 chunks +25 lines, -5 lines 0 comments Download

Messages

Total messages: 38 (9 generated)
fdoray
4 years, 9 months ago (2016-03-15 13:24:33 UTC) #2
fdoray
robliao@: Can you review this CL? Thanks.
4 years, 8 months ago (2016-04-01 19:38:51 UTC) #4
robliao
A first pass https://codereview.chromium.org/1806473002/diff/20001/base/task_scheduler/delayed_task_manager.cc File base/task_scheduler/delayed_task_manager.cc (right): https://codereview.chromium.org/1806473002/diff/20001/base/task_scheduler/delayed_task_manager.cc#newcode39 base/task_scheduler/delayed_task_manager.cc:39: if (!delayed_tasks_.empty()) Let's move this before ...
4 years, 8 months ago (2016-04-01 20:48:25 UTC) #5
robliao
https://codereview.chromium.org/1806473002/diff/20001/base/task_scheduler/delayed_task_manager.h File base/task_scheduler/delayed_task_manager.h (right): https://codereview.chromium.org/1806473002/diff/20001/base/task_scheduler/delayed_task_manager.h#newcode28 base/task_scheduler/delayed_task_manager.h:28: using PostTaskCallback = Callback<void(std::unique_ptr<Task>)>; On 2016/04/01 20:48:25, robliao wrote: ...
4 years, 8 months ago (2016-04-01 20:52:46 UTC) #6
fdoray
robliao@: Can you take another look? Thanks. https://codereview.chromium.org/1806473002/diff/20001/base/task_scheduler/delayed_task_manager.cc File base/task_scheduler/delayed_task_manager.cc (right): https://codereview.chromium.org/1806473002/diff/20001/base/task_scheduler/delayed_task_manager.cc#newcode39 base/task_scheduler/delayed_task_manager.cc:39: if (!delayed_tasks_.empty()) ...
4 years, 8 months ago (2016-04-01 21:21:58 UTC) #7
robliao
lgtm + Nits https://codereview.chromium.org/1806473002/diff/20001/base/task_scheduler/delayed_task_manager.h File base/task_scheduler/delayed_task_manager.h (right): https://codereview.chromium.org/1806473002/diff/20001/base/task_scheduler/delayed_task_manager.h#newcode66 base/task_scheduler/delayed_task_manager.h:66: bool operator<(const DelayedTask& other) const; On ...
4 years, 8 months ago (2016-04-04 17:59:53 UTC) #8
fdoray
danakj@: Can you review this CL? robliao@: Thanks for the review. https://codereview.chromium.org/1806473002/diff/40001/base/task_scheduler/delayed_task_manager.h File base/task_scheduler/delayed_task_manager.h (right): ...
4 years, 8 months ago (2016-04-04 19:52:20 UTC) #9
gab
lvg :-) https://codereview.chromium.org/1806473002/diff/60001/base/task_scheduler/delayed_task_manager.cc File base/task_scheduler/delayed_task_manager.cc (right): https://codereview.chromium.org/1806473002/diff/60001/base/task_scheduler/delayed_task_manager.cc#newcode21 base/task_scheduler/delayed_task_manager.cc:21: DelayedTask& operator=(DelayedTask&& other); Should we explicitly delete ...
4 years, 8 months ago (2016-04-07 21:32:09 UTC) #11
danakj
https://codereview.chromium.org/1806473002/diff/60001/base/task_scheduler/delayed_task_manager.cc File base/task_scheduler/delayed_task_manager.cc (right): https://codereview.chromium.org/1806473002/diff/60001/base/task_scheduler/delayed_task_manager.cc#newcode21 base/task_scheduler/delayed_task_manager.cc:21: DelayedTask& operator=(DelayedTask&& other); On 2016/04/07 21:32:08, gab wrote: > ...
4 years, 8 months ago (2016-04-07 21:39:29 UTC) #12
fdoray
gab@: All done. You can wait before reviewing again because I'll need to make some ...
4 years, 8 months ago (2016-04-08 17:24:52 UTC) #13
gab
Replied to comments, but holding on further review per request. https://codereview.chromium.org/1806473002/diff/60001/base/task_scheduler/delayed_task_manager.cc File base/task_scheduler/delayed_task_manager.cc (right): https://codereview.chromium.org/1806473002/diff/60001/base/task_scheduler/delayed_task_manager.cc#newcode23 ...
4 years, 8 months ago (2016-04-08 18:03:55 UTC) #14
fdoray
https://codereview.chromium.org/1806473002/diff/60001/base/task_scheduler/delayed_task_manager.cc File base/task_scheduler/delayed_task_manager.cc (right): https://codereview.chromium.org/1806473002/diff/60001/base/task_scheduler/delayed_task_manager.cc#newcode31 base/task_scheduler/delayed_task_manager.cc:31: }; On 2016/04/08 at 18:03:55, gab wrote: > On ...
4 years, 8 months ago (2016-04-11 13:30:54 UTC) #15
gab
lgtm w/ comments, thanks! https://codereview.chromium.org/1806473002/diff/160001/base/task_scheduler/delayed_task_manager.cc File base/task_scheduler/delayed_task_manager.cc (right): https://codereview.chromium.org/1806473002/diff/160001/base/task_scheduler/delayed_task_manager.cc#newcode72 base/task_scheduler/delayed_task_manager.cc:72: TimeTicks existing_next_delayed_run_time; How about s/existing_next_delayed_run_time/current_delayed_run_time/ ...
4 years, 8 months ago (2016-04-11 18:28:30 UTC) #17
fdoray
danakj@: Can you review this CL? Thanks. https://codereview.chromium.org/1806473002/diff/160001/base/task_scheduler/delayed_task_manager.cc File base/task_scheduler/delayed_task_manager.cc (right): https://codereview.chromium.org/1806473002/diff/160001/base/task_scheduler/delayed_task_manager.cc#newcode72 base/task_scheduler/delayed_task_manager.cc:72: TimeTicks existing_next_delayed_run_time; ...
4 years, 8 months ago (2016-04-11 19:57:06 UTC) #19
gab
2 nits and a question w.r.t. to memory management. https://codereview.chromium.org/1806473002/diff/160001/base/task_scheduler/scheduler_thread_pool.cc File base/task_scheduler/scheduler_thread_pool.cc (right): https://codereview.chromium.org/1806473002/diff/160001/base/task_scheduler/scheduler_thread_pool.cc#newcode44 base/task_scheduler/scheduler_thread_pool.cc:44: ...
4 years, 8 months ago (2016-04-12 13:35:48 UTC) #20
fdoray
https://codereview.chromium.org/1806473002/diff/160001/base/task_scheduler/scheduler_thread_pool.cc File base/task_scheduler/scheduler_thread_pool.cc (right): https://codereview.chromium.org/1806473002/diff/160001/base/task_scheduler/scheduler_thread_pool.cc#newcode44 base/task_scheduler/scheduler_thread_pool.cc:44: // TODO(fdoray): Support delayed tasks. On 2016/04/12 13:35:47, gab ...
4 years, 8 months ago (2016-04-12 14:43:57 UTC) #21
gab
https://codereview.chromium.org/1806473002/diff/180001/base/task_scheduler/delayed_task_manager.h File base/task_scheduler/delayed_task_manager.h (right): https://codereview.chromium.org/1806473002/diff/180001/base/task_scheduler/delayed_task_manager.h#newcode43 base/task_scheduler/delayed_task_manager.h:43: PriorityQueue* priority_queue); On 2016/04/12 14:43:57, fdoray wrote: > On ...
4 years, 8 months ago (2016-04-12 18:07:30 UTC) #22
fdoray
https://codereview.chromium.org/1806473002/diff/180001/base/task_scheduler/delayed_task_manager.h File base/task_scheduler/delayed_task_manager.h (right): https://codereview.chromium.org/1806473002/diff/180001/base/task_scheduler/delayed_task_manager.h#newcode43 base/task_scheduler/delayed_task_manager.h:43: PriorityQueue* priority_queue); On 2016/04/12 18:07:30, gab wrote: > On ...
4 years, 8 months ago (2016-04-12 18:18:00 UTC) #23
gab
Thanks re-lgtm w/ TODO. @dana for OWNERS
4 years, 8 months ago (2016-04-12 19:53:17 UTC) #24
fdoray
danakj@: I rebased this CL on the latest SchedulerThreadPool. Can you review it after https://codereview.chromium.org/1851403003/? ...
4 years, 8 months ago (2016-04-15 13:27:15 UTC) #25
gab
rebase with latest updates still lgtm % comment below https://codereview.chromium.org/1806473002/diff/260001/base/task_scheduler/utils.cc File base/task_scheduler/utils.cc (right): https://codereview.chromium.org/1806473002/diff/260001/base/task_scheduler/utils.cc#newcode36 base/task_scheduler/utils.cc:36: ...
4 years, 8 months ago (2016-04-15 15:39:10 UTC) #26
fdoray
gab@: Done. danakj@: I rebased this CL on the latest SchedulerThreadPool. Can you review it ...
4 years, 8 months ago (2016-04-15 17:41:47 UTC) #27
fdoray
danakj@: ping. Can you review this CL?
4 years, 8 months ago (2016-04-19 14:08:26 UTC) #28
danakj
https://codereview.chromium.org/1806473002/diff/280001/base/task_scheduler/delayed_task_manager.cc File base/task_scheduler/delayed_task_manager.cc (right): https://codereview.chromium.org/1806473002/diff/280001/base/task_scheduler/delayed_task_manager.cc#newcode25 base/task_scheduler/delayed_task_manager.cc:25: DelayedTask(DelayedTask&& other) this looks like you could use =default ...
4 years, 8 months ago (2016-04-19 21:16:46 UTC) #29
fdoray
danakj@: Done. Can you take another look? Thanks. https://codereview.chromium.org/1806473002/diff/280001/base/task_scheduler/delayed_task_manager.cc File base/task_scheduler/delayed_task_manager.cc (right): https://codereview.chromium.org/1806473002/diff/280001/base/task_scheduler/delayed_task_manager.cc#newcode25 base/task_scheduler/delayed_task_manager.cc:25: DelayedTask(DelayedTask&& ...
4 years, 8 months ago (2016-04-19 21:46:45 UTC) #30
danakj
https://codereview.chromium.org/1806473002/diff/300001/base/task_scheduler/scheduler_thread_pool.h File base/task_scheduler/scheduler_thread_pool.h (right): https://codereview.chromium.org/1806473002/diff/300001/base/task_scheduler/scheduler_thread_pool.h#newcode59 base/task_scheduler/scheduler_thread_pool.h:59: DelayedTaskManager* delayed_task_manager); On 2016/04/19 21:46:45, fdoray wrote: > On ...
4 years, 8 months ago (2016-04-19 23:08:24 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1806473002/320001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1806473002/320001
4 years, 8 months ago (2016-04-20 00:25:14 UTC) #34
commit-bot: I haz the power
Committed patchset #17 (id:320001)
4 years, 8 months ago (2016-04-20 01:39:31 UTC) #36
commit-bot: I haz the power
4 years, 8 months ago (2016-04-22 19:19:46 UTC) #38
Message was sent while issue was closed.
Patchset 17 (id:??) landed as
https://crrev.com/c308c577db26c7edc37a1002dd62a18ce9bbdef6
Cr-Commit-Position: refs/heads/master@{#388398}

Powered by Google App Engine
This is Rietveld 408576698