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

Issue 2801673002: Separate the create and start phases in SchedulerWorkerPoolImpl. (Closed)

Created:
3 years, 8 months ago by fdoray
Modified:
3 years, 8 months ago
Reviewers:
robliao, gab
CC:
chromium-reviews, gab+watch_chromium.org, robliao+watch_chromium.org, fdoray+watch_chromium.org, danakj+watch_chromium.org, vmpstr+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Separate the create and start phases in SchedulerWorkerPoolImpl. With this CL, a newly instantiated SchedulerWorkerPoolImpl doesn't have any workers. Tasks can be posted to it but they don't run until Start() is called. When Start() is called, workers are created and tasks can start running. BUG=690706 Review-Url: https://codereview.chromium.org/2801673002 Cr-Commit-Position: refs/heads/master@{#463082} Committed: https://chromium.googlesource.com/chromium/src/+/168cacfff7d0fb37a4f14e9a558cc368524b6ec0

Patch Set 1 #

Patch Set 2 : self-review #

Total comments: 10

Patch Set 3 : CR-robliao-9 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+271 lines, -147 lines) Patch
M base/task_scheduler/scheduler_worker_pool_impl.h View 1 2 5 chunks +41 lines, -28 lines 0 comments Download
M base/task_scheduler/scheduler_worker_pool_impl.cc View 1 2 3 chunks +127 lines, -98 lines 0 comments Download
M base/task_scheduler/scheduler_worker_pool_impl_unittest.cc View 1 2 9 chunks +99 lines, -18 lines 2 comments Download
M base/task_scheduler/task_scheduler_impl.cc View 1 2 1 chunk +4 lines, -3 lines 0 comments Download

Messages

Total messages: 22 (14 generated)
fdoray
PTAL
3 years, 8 months ago (2017-04-05 12:03:23 UTC) #4
robliao
General approach seems to look fine. https://codereview.chromium.org/2801673002/diff/20001/base/task_scheduler/scheduler_worker_pool_impl.cc File base/task_scheduler/scheduler_worker_pool_impl.cc (right): https://codereview.chromium.org/2801673002/diff/20001/base/task_scheduler/scheduler_worker_pool_impl.cc#newcode259 base/task_scheduler/scheduler_worker_pool_impl.cc:259: const size_t num_alive_workers ...
3 years, 8 months ago (2017-04-05 23:29:23 UTC) #9
fdoray
PTAL https://codereview.chromium.org/2801673002/diff/20001/base/task_scheduler/scheduler_worker_pool_impl.cc File base/task_scheduler/scheduler_worker_pool_impl.cc (right): https://codereview.chromium.org/2801673002/diff/20001/base/task_scheduler/scheduler_worker_pool_impl.cc#newcode259 base/task_scheduler/scheduler_worker_pool_impl.cc:259: const size_t num_alive_workers = On 2017/04/05 23:29:23, robliao ...
3 years, 8 months ago (2017-04-06 15:07:13 UTC) #12
robliao
lgtm. Thanks!
3 years, 8 months ago (2017-04-07 22:58:58 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2801673002/40001
3 years, 8 months ago (2017-04-07 23:36:44 UTC) #17
commit-bot: I haz the power
Committed patchset #3 (id:40001) as https://chromium.googlesource.com/chromium/src/+/168cacfff7d0fb37a4f14e9a558cc368524b6ec0
3 years, 8 months ago (2017-04-08 00:52:57 UTC) #20
gab
Nice! lgtm :) https://codereview.chromium.org/2801673002/diff/40001/base/task_scheduler/scheduler_worker_pool_impl_unittest.cc File base/task_scheduler/scheduler_worker_pool_impl_unittest.cc (right): https://codereview.chromium.org/2801673002/diff/40001/base/task_scheduler/scheduler_worker_pool_impl_unittest.cc#newcode390 base/task_scheduler/scheduler_worker_pool_impl_unittest.cc:390: class TaskSchedulerWorkerPoolImplPostTaskBeforeStartTest Why even bother with ...
3 years, 8 months ago (2017-04-10 16:16:25 UTC) #21
gab
3 years, 8 months ago (2017-04-10 19:09:07 UTC) #22
Message was sent while issue was closed.
https://codereview.chromium.org/2801673002/diff/40001/base/task_scheduler/sch...
File base/task_scheduler/scheduler_worker_pool_impl_unittest.cc (right):

https://codereview.chromium.org/2801673002/diff/40001/base/task_scheduler/sch...
base/task_scheduler/scheduler_worker_pool_impl_unittest.cc:439: // started.
PlatformThread::Sleep(TestTimeouts::tiny_timeout());

(I thought this initially and then figured, meh... but now that you did it in
https://codereview.chromium.org/2806413002/, might as well be consistent :))

Powered by Google App Engine
This is Rietveld 408576698