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

Issue 1876363004: TaskScheduler [11] Support ExecutionMode::SINGLE_THREADED. (Closed)

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

Description

TaskScheduler [11] Support ExecutionMode::SINGLE_THREADED. Support ExecutionMode::SINGLE_THREADED in SchedulerThreadPool::CreateTaskRunnerWithTraits. All tasks posted to a SINGLE_THREADED TaskRunner run on the same thread in posting order. BUG=553459 Committed: https://crrev.com/1e7a257a501d2d97fe6550fa023ca2998563c495 Cr-Commit-Position: refs/heads/master@{#390394}

Patch Set 1 #

Patch Set 2 : rebase #

Patch Set 3 : self review (remove unused headers) #

Total comments: 16

Patch Set 4 : CR gab #4 (comment and naming nits) #

Patch Set 5 : self review #

Patch Set 6 : self review #

Total comments: 2

Patch Set 7 : CR robliao (single_thread_priority_queue -> alternate_priority_queue) #

Patch Set 8 : rebase #

Patch Set 9 : rebase #

Patch Set 10 : rebase #

Total comments: 6

Patch Set 11 : all post tasks go through SchedulerThreadPool #

Total comments: 2

Patch Set 12 : rebase #

Patch Set 13 : rebase #

Total comments: 36

Patch Set 14 : CR gab #20 #

Total comments: 14

Patch Set 15 : CR gab #23 #

Total comments: 8

Patch Set 16 : CR gab #27 (formatting) #

Total comments: 12

Patch Set 17 : always define ContainsWorkerThread, remove unused include #

Total comments: 7

Patch Set 18 : CR danakj #39 #

Patch Set 19 : self review #

Total comments: 2

Patch Set 20 : add #include <algorithm> #

Unified diffs Side-by-side diffs Delta from patch set Stats (+332 lines, -93 lines) Patch
M base/task_scheduler/delayed_task_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +10 lines, -7 lines 0 comments Download
M base/task_scheduler/delayed_task_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +10 lines, -5 lines 0 comments Download
M base/task_scheduler/delayed_task_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 9 chunks +20 lines, -15 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 14 2 chunks +19 lines, -8 lines 0 comments Download
M base/task_scheduler/scheduler_thread_pool_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 4 chunks +24 lines, -7 lines 0 comments Download
M base/task_scheduler/scheduler_thread_pool_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 14 chunks +230 lines, -45 lines 0 comments Download
M base/task_scheduler/scheduler_thread_pool_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +3 lines, -0 lines 0 comments Download
M base/task_scheduler/scheduler_worker_thread.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +4 lines, -2 lines 0 comments Download
M base/task_scheduler/scheduler_worker_thread.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M base/task_scheduler/scheduler_worker_thread_stack_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M base/task_scheduler/scheduler_worker_thread_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +10 lines, -2 lines 0 comments Download

Messages

Total messages: 62 (15 generated)
fdoray
gab@/robliao@: Can you review this CL? Thanks! Note that SchedulerThreadPool::CreateTaskRunnerWithTraits still doesn't support ExecutionMode::SINGLE_THREAD. Before ...
4 years, 8 months ago (2016-04-12 17:25:27 UTC) #2
fdoray
gab@/robliao@: Can you review this CL? Thanks! Note that SchedulerThreadPool::CreateTaskRunnerWithTraits still doesn't support ExecutionMode::SINGLE_THREAD. Before ...
4 years, 8 months ago (2016-04-15 14:07:07 UTC) #3
gab
lgtm % comment and naming nits, thanks! https://codereview.chromium.org/1876363004/diff/40001/base/task_scheduler/scheduler_worker_thread.cc File base/task_scheduler/scheduler_worker_thread.cc (right): https://codereview.chromium.org/1876363004/diff/40001/base/task_scheduler/scheduler_worker_thread.cc#newcode32 base/task_scheduler/scheduler_worker_thread.cc:32: SchedulerTaskExecutor* executor, ...
4 years, 8 months ago (2016-04-18 18:04:02 UTC) #4
fdoray
gab@: Done. robliao@: Can you review this CL? https://codereview.chromium.org/1876363004/diff/40001/base/task_scheduler/scheduler_worker_thread.cc File base/task_scheduler/scheduler_worker_thread.cc (right): https://codereview.chromium.org/1876363004/diff/40001/base/task_scheduler/scheduler_worker_thread.cc#newcode32 base/task_scheduler/scheduler_worker_thread.cc:32: SchedulerTaskExecutor* ...
4 years, 8 months ago (2016-04-18 19:04:50 UTC) #5
robliao
https://codereview.chromium.org/1876363004/diff/100001/base/task_scheduler/scheduler_thread_pool.cc File base/task_scheduler/scheduler_thread_pool.cc (right): https://codereview.chromium.org/1876363004/diff/100001/base/task_scheduler/scheduler_thread_pool.cc#newcode129 base/task_scheduler/scheduler_thread_pool.cc:129: PriorityQueue* single_threaded_priority_queue, single_thread_priority_queue -> alternate_priority_queue to match the signature ...
4 years, 8 months ago (2016-04-18 19:53:51 UTC) #6
fdoray
robliao@: Can you take another look? Thanks. https://codereview.chromium.org/1876363004/diff/100001/base/task_scheduler/scheduler_thread_pool.cc File base/task_scheduler/scheduler_thread_pool.cc (right): https://codereview.chromium.org/1876363004/diff/100001/base/task_scheduler/scheduler_thread_pool.cc#newcode129 base/task_scheduler/scheduler_thread_pool.cc:129: PriorityQueue* single_threaded_priority_queue, ...
4 years, 8 months ago (2016-04-18 20:40:55 UTC) #7
robliao
lgtm
4 years, 8 months ago (2016-04-18 21:30:34 UTC) #8
fdoray
danakj@: Can you review this CL? (Delayed task manager https://codereview.chromium.org/1806473002/ should be reviewed first) Thanks!
4 years, 8 months ago (2016-04-18 21:53:08 UTC) #10
fdoray
danakj@: Can you review this CL? Thanks.
4 years, 8 months ago (2016-04-20 15:39:07 UTC) #12
danakj
Hey, few questions for you bout the relationship we're building between WorkerThread and ThreadPool. https://codereview.chromium.org/1876363004/diff/180001/base/task_scheduler/scheduler_thread_pool.cc ...
4 years, 8 months ago (2016-04-20 23:16:16 UTC) #13
fdoray
Dana's review gave me inspiration for a new way to support single-threaded tasks. Patch set ...
4 years, 8 months ago (2016-04-21 19:31:28 UTC) #17
fdoray
Dana's review gave me inspiration for a new way to support single-threaded tasks. Patch set ...
4 years, 8 months ago (2016-04-21 19:33:34 UTC) #18
fdoray
[rebased] robliao@/gab@/danakj@: Can you re-review this CL? Thanks.
4 years, 8 months ago (2016-04-25 20:12:15 UTC) #19
gab
Overall approach lg, a few things below. https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h File base/task_scheduler/delayed_task_manager.h (right): https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h#newcode41 base/task_scheduler/delayed_task_manager.h:41: // |worker_thread| ...
4 years, 8 months ago (2016-04-25 21:00:20 UTC) #20
robliao
https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h File base/task_scheduler/delayed_task_manager.h (right): https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h#newcode48 base/task_scheduler/delayed_task_manager.h:48: SchedulerWorkerThread* worker_thread, On 2016/04/25 21:00:20, gab wrote: > I'm ...
4 years, 8 months ago (2016-04-25 21:42:38 UTC) #21
fdoray
gab@/robliao@/danakj@: Can you take another look? Thanks. https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h File base/task_scheduler/delayed_task_manager.h (right): https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h#newcode41 base/task_scheduler/delayed_task_manager.h:41: // |worker_thread| ...
4 years, 8 months ago (2016-04-25 22:34:44 UTC) #22
gab
https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h File base/task_scheduler/delayed_task_manager.h (right): https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h#newcode48 base/task_scheduler/delayed_task_manager.h:48: SchedulerWorkerThread* worker_thread, On 2016/04/25 22:34:44, fdoray wrote: > On ...
4 years, 8 months ago (2016-04-26 11:46:27 UTC) #23
fdoray
gab@/robliao@/danakj@: Can you take another look? Thanks. https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/scheduler_thread_pool_impl.cc File base/task_scheduler/scheduler_thread_pool_impl.cc (right): https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/scheduler_thread_pool_impl.cc#newcode233 base/task_scheduler/scheduler_thread_pool_impl.cc:233: // SingleThreadTaskRunner. ...
4 years, 8 months ago (2016-04-26 14:56:47 UTC) #24
robliao
https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h File base/task_scheduler/delayed_task_manager.h (right): https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h#newcode48 base/task_scheduler/delayed_task_manager.h:48: SchedulerWorkerThread* worker_thread, On 2016/04/26 11:46:27, gab wrote: > On ...
4 years, 8 months ago (2016-04-26 16:58:57 UTC) #25
gab
Re-lgtm w/ potential follow-up for Rob's request + one comment Thanks! https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h File base/task_scheduler/delayed_task_manager.h (right): ...
4 years, 8 months ago (2016-04-26 20:30:58 UTC) #26
gab
https://codereview.chromium.org/1876363004/diff/280001/base/task_scheduler/scheduler_thread_pool_impl.cc File base/task_scheduler/scheduler_thread_pool_impl.cc (right): https://codereview.chromium.org/1876363004/diff/280001/base/task_scheduler/scheduler_thread_pool_impl.cc#newcode399 base/task_scheduler/scheduler_thread_pool_impl.cc:399: Occurred to me while merging code for https://codereview.chromium.org/1903133003/ that ...
4 years, 8 months ago (2016-04-26 23:26:13 UTC) #27
fdoray
robliao@/danakj@: Can you take another look? Thanks. https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h File base/task_scheduler/delayed_task_manager.h (right): https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h#newcode48 base/task_scheduler/delayed_task_manager.h:48: SchedulerWorkerThread* worker_thread, ...
4 years, 7 months ago (2016-04-27 16:09:59 UTC) #28
robliao
https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h File base/task_scheduler/delayed_task_manager.h (right): https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h#newcode48 base/task_scheduler/delayed_task_manager.h:48: SchedulerWorkerThread* worker_thread, On 2016/04/27 16:09:59, fdoray wrote: > On ...
4 years, 7 months ago (2016-04-27 17:43:45 UTC) #29
gab
Replies to ongoing discussions https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h File base/task_scheduler/delayed_task_manager.h (right): https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h#newcode48 base/task_scheduler/delayed_task_manager.h:48: SchedulerWorkerThread* worker_thread, On 2016/04/27 17:43:45, ...
4 years, 7 months ago (2016-04-27 18:11:43 UTC) #30
gab
https://codereview.chromium.org/1876363004/diff/280001/base/task_scheduler/scheduler_thread_pool_impl.cc File base/task_scheduler/scheduler_thread_pool_impl.cc (right): https://codereview.chromium.org/1876363004/diff/280001/base/task_scheduler/scheduler_thread_pool_impl.cc#newcode306 base/task_scheduler/scheduler_thread_pool_impl.cc:306: #endif // DCHECK_IS_ON() On 2016/04/27 16:09:59, fdoray wrote: > ...
4 years, 7 months ago (2016-04-27 18:17:47 UTC) #31
robliao
https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h File base/task_scheduler/delayed_task_manager.h (right): https://codereview.chromium.org/1876363004/diff/240001/base/task_scheduler/delayed_task_manager.h#newcode48 base/task_scheduler/delayed_task_manager.h:48: SchedulerWorkerThread* worker_thread, On 2016/04/27 18:11:43, gab wrote: > On ...
4 years, 7 months ago (2016-04-27 18:21:03 UTC) #32
danakj
https://codereview.chromium.org/1876363004/diff/200001/base/task_scheduler/scheduler_thread_pool.h File base/task_scheduler/scheduler_thread_pool.h (right): https://codereview.chromium.org/1876363004/diff/200001/base/task_scheduler/scheduler_thread_pool.h#newcode83 base/task_scheduler/scheduler_thread_pool.h:83: // |worker_thread| if specified; otherwise it can run on ...
4 years, 7 months ago (2016-04-27 18:28:43 UTC) #33
gab
https://codereview.chromium.org/1876363004/diff/280001/base/task_scheduler/scheduler_thread_pool_impl.cc File base/task_scheduler/scheduler_thread_pool_impl.cc (right): https://codereview.chromium.org/1876363004/diff/280001/base/task_scheduler/scheduler_thread_pool_impl.cc#newcode306 base/task_scheduler/scheduler_thread_pool_impl.cc:306: #endif // DCHECK_IS_ON() On 2016/04/27 18:28:43, danakj wrote: > ...
4 years, 7 months ago (2016-04-27 18:32:28 UTC) #34
fdoray
robliao@: Can you take another look? https://codereview.chromium.org/1876363004/diff/200001/base/task_scheduler/scheduler_thread_pool.h File base/task_scheduler/scheduler_thread_pool.h (right): https://codereview.chromium.org/1876363004/diff/200001/base/task_scheduler/scheduler_thread_pool.h#newcode83 base/task_scheduler/scheduler_thread_pool.h:83: // |worker_thread| if ...
4 years, 7 months ago (2016-04-27 19:17:04 UTC) #35
robliao
lgtm
4 years, 7 months ago (2016-04-27 19:20:39 UTC) #36
gab
lgtm, thanks!
4 years, 7 months ago (2016-04-27 19:35:28 UTC) #37
fdoray
danakj@: Can you review this CL? Thanks.
4 years, 7 months ago (2016-04-27 19:36:31 UTC) #38
danakj
LG! Just a couple questions/comments. https://codereview.chromium.org/1876363004/diff/300001/base/task_scheduler/scheduler_thread_pool_impl.cc File base/task_scheduler/scheduler_thread_pool_impl.cc (right): https://codereview.chromium.org/1876363004/diff/300001/base/task_scheduler/scheduler_thread_pool_impl.cc#newcode160 base/task_scheduler/scheduler_thread_pool_impl.cc:160: for (const auto& current_worker_thread ...
4 years, 7 months ago (2016-04-27 20:38:13 UTC) #39
gab
Reply to one of Dana's question which is my fault :-) https://codereview.chromium.org/1876363004/diff/320001/base/task_scheduler/scheduler_worker_thread.h File base/task_scheduler/scheduler_worker_thread.h (right): ...
4 years, 7 months ago (2016-04-27 20:45:39 UTC) #40
danakj
https://codereview.chromium.org/1876363004/diff/320001/base/task_scheduler/scheduler_worker_thread.h File base/task_scheduler/scheduler_worker_thread.h (right): https://codereview.chromium.org/1876363004/diff/320001/base/task_scheduler/scheduler_worker_thread.h#newcode71 base/task_scheduler/scheduler_worker_thread.h:71: SchedulerWorkerThread::Delegate* delegate() { return delegate_.get(); } On 2016/04/27 20:45:39, ...
4 years, 7 months ago (2016-04-27 20:53:28 UTC) #41
robliao
https://codereview.chromium.org/1876363004/diff/320001/base/task_scheduler/scheduler_worker_thread.h File base/task_scheduler/scheduler_worker_thread.h (right): https://codereview.chromium.org/1876363004/diff/320001/base/task_scheduler/scheduler_worker_thread.h#newcode71 base/task_scheduler/scheduler_worker_thread.h:71: SchedulerWorkerThread::Delegate* delegate() { return delegate_.get(); } On 2016/04/27 20:53:28, ...
4 years, 7 months ago (2016-04-27 21:14:54 UTC) #42
danakj
LGTM https://codereview.chromium.org/1876363004/diff/320001/base/task_scheduler/scheduler_worker_thread.h File base/task_scheduler/scheduler_worker_thread.h (right): https://codereview.chromium.org/1876363004/diff/320001/base/task_scheduler/scheduler_worker_thread.h#newcode71 base/task_scheduler/scheduler_worker_thread.h:71: SchedulerWorkerThread::Delegate* delegate() { return delegate_.get(); } On 2016/04/27 ...
4 years, 7 months ago (2016-04-27 21:56:38 UTC) #43
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1876363004/320001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1876363004/320001
4 years, 7 months ago (2016-04-27 23:14:06 UTC) #45
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 7 months ago (2016-04-28 00:18:44 UTC) #47
fdoray
https://codereview.chromium.org/1876363004/diff/300001/base/task_scheduler/scheduler_thread_pool_impl.cc File base/task_scheduler/scheduler_thread_pool_impl.cc (right): https://codereview.chromium.org/1876363004/diff/300001/base/task_scheduler/scheduler_thread_pool_impl.cc#newcode160 base/task_scheduler/scheduler_thread_pool_impl.cc:160: for (const auto& current_worker_thread : worker_threads) { On 2016/04/27 ...
4 years, 7 months ago (2016-04-28 12:33:20 UTC) #48
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1876363004/360001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1876363004/360001
4 years, 7 months ago (2016-04-28 12:33:39 UTC) #51
commit-bot: I haz the power
Try jobs failed on following builders: chromeos_amd64-generic_chromium_compile_only_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-generic_chromium_compile_only_ng/builds/129449)
4 years, 7 months ago (2016-04-28 12:46:48 UTC) #53
gab
Nice tweaks in last patch sets :-), cleaner, thanks Dana! Nit below (which I think ...
4 years, 7 months ago (2016-04-28 13:40:03 UTC) #54
fdoray
https://codereview.chromium.org/1876363004/diff/360001/base/task_scheduler/scheduler_thread_pool_impl.cc File base/task_scheduler/scheduler_thread_pool_impl.cc (right): https://codereview.chromium.org/1876363004/diff/360001/base/task_scheduler/scheduler_thread_pool_impl.cc#newcode160 base/task_scheduler/scheduler_thread_pool_impl.cc:160: auto it = std::find_if( On 2016/04/28 13:40:03, gab wrote: ...
4 years, 7 months ago (2016-04-28 13:54:21 UTC) #55
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1876363004/380001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1876363004/380001
4 years, 7 months ago (2016-04-28 14:33:57 UTC) #58
commit-bot: I haz the power
Committed patchset #20 (id:380001)
4 years, 7 months ago (2016-04-28 15:45:50 UTC) #60
commit-bot: I haz the power
4 years, 7 months ago (2016-04-30 17:18:55 UTC) #61
Message was sent while issue was closed.
Patchset 20 (id:??) landed as
https://crrev.com/1e7a257a501d2d97fe6550fa023ca2998563c495
Cr-Commit-Position: refs/heads/master@{#390394}

Powered by Google App Engine
This is Rietveld 408576698