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

Issue 2064073003: TaskScheduler: Make the worker pools of TaskSchedulerImpl configurable (Closed)

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

Description

TaskScheduler: Make the worker pools of TaskSchedulerImpl configurable With this CL, TaskSchedulerImpl::Create takes as argument a vector of worker pool creation arguments and a callback that indicates in which worker pool a task with given traits should run. In the Chrome browser process, we plan to have 4 worker pools: - Background - Background with file i/o - Foreground - Foreground with file i/o The number of workers per pool will be derived from system characteristics and from variation params obtained from variations::GetVariationParams. In tests and in renderer processes, we might create a different set of worker pools (e.g. file i/o doesn't make sense in a renderer). BUG=553459 Committed: https://crrev.com/51da6a83632b8ba4a49c3d7765b810e9d739e214 Cr-Commit-Position: refs/heads/master@{#402583}

Patch Set 1 #

Total comments: 15

Patch Set 2 : CR robliao #3 (map argument first) #

Total comments: 8

Patch Set 3 : delegate #

Total comments: 5

Patch Set 4 : vector of struct to configure worker pools #

Patch Set 5 : rebase #

Total comments: 22

Patch Set 6 : CR #

Patch Set 7 : self-review #

Total comments: 4

Patch Set 8 : CR robliao #22 #

Patch Set 9 : remove unused "using" #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+140 lines, -113 lines) Patch
M base/task_scheduler/task_scheduler.h View 1 2 1 chunk +8 lines, -15 lines 0 comments Download
M base/task_scheduler/task_scheduler.cc View 1 2 2 chunks +0 lines, -6 lines 0 comments Download
M base/task_scheduler/task_scheduler_impl.h View 1 2 3 4 5 3 chunks +40 lines, -19 lines 2 comments Download
M base/task_scheduler/task_scheduler_impl.cc View 1 2 3 4 5 6 7 8 4 chunks +31 lines, -50 lines 0 comments Download
M base/task_scheduler/task_scheduler_impl_unittest.cc View 1 2 3 4 5 6 7 4 chunks +61 lines, -23 lines 0 comments Download

Messages

Total messages: 40 (13 generated)
fdoray
Can you review this CL? Thanks.
4 years, 6 months ago (2016-06-14 20:05:07 UTC) #2
robliao
https://codereview.chromium.org/2064073003/diff/1/base/task_scheduler/task_scheduler.h File base/task_scheduler/task_scheduler.h (right): https://codereview.chromium.org/2064073003/diff/1/base/task_scheduler/task_scheduler.h#newcode67 base/task_scheduler/task_scheduler.h:67: static void InitializeDefaultTaskScheduler( Can TaskSchedulerImpl pick these up without ...
4 years, 6 months ago (2016-06-14 21:43:44 UTC) #3
fdoray
PTAnL https://codereview.chromium.org/2064073003/diff/1/base/task_scheduler/task_scheduler.h File base/task_scheduler/task_scheduler.h (right): https://codereview.chromium.org/2064073003/diff/1/base/task_scheduler/task_scheduler.h#newcode67 base/task_scheduler/task_scheduler.h:67: static void InitializeDefaultTaskScheduler( On 2016/06/14 21:43:44, robliao wrote: ...
4 years, 6 months ago (2016-06-15 17:14:32 UTC) #4
robliao
https://codereview.chromium.org/2064073003/diff/1/base/task_scheduler/task_scheduler.h File base/task_scheduler/task_scheduler.h (right): https://codereview.chromium.org/2064073003/diff/1/base/task_scheduler/task_scheduler.h#newcode67 base/task_scheduler/task_scheduler.h:67: static void InitializeDefaultTaskScheduler( On 2016/06/15 17:14:32, fdoray wrote: > ...
4 years, 6 months ago (2016-06-15 17:32:37 UTC) #5
fdoray
PTAnL https://codereview.chromium.org/2064073003/diff/1/base/task_scheduler/task_scheduler.h File base/task_scheduler/task_scheduler.h (right): https://codereview.chromium.org/2064073003/diff/1/base/task_scheduler/task_scheduler.h#newcode67 base/task_scheduler/task_scheduler.h:67: static void InitializeDefaultTaskScheduler( On 2016/06/15 17:32:37, robliao wrote: ...
4 years, 6 months ago (2016-06-15 19:54:53 UTC) #6
gab
lg https://codereview.chromium.org/2064073003/diff/1/base/task_scheduler/task_scheduler.h File base/task_scheduler/task_scheduler.h (right): https://codereview.chromium.org/2064073003/diff/1/base/task_scheduler/task_scheduler.h#newcode67 base/task_scheduler/task_scheduler.h:67: static void InitializeDefaultTaskScheduler( On 2016/06/15 17:32:37, robliao wrote: ...
4 years, 6 months ago (2016-06-15 19:56:04 UTC) #7
fdoray
A question for gab@ https://codereview.chromium.org/2064073003/diff/1/base/task_scheduler/task_scheduler.h File base/task_scheduler/task_scheduler.h (right): https://codereview.chromium.org/2064073003/diff/1/base/task_scheduler/task_scheduler.h#newcode67 base/task_scheduler/task_scheduler.h:67: static void InitializeDefaultTaskScheduler( On 2016/06/15 ...
4 years, 6 months ago (2016-06-16 13:02:05 UTC) #8
gab
https://codereview.chromium.org/2064073003/diff/1/base/task_scheduler/task_scheduler.h File base/task_scheduler/task_scheduler.h (right): https://codereview.chromium.org/2064073003/diff/1/base/task_scheduler/task_scheduler.h#newcode67 base/task_scheduler/task_scheduler.h:67: static void InitializeDefaultTaskScheduler( On 2016/06/15 19:54:53, fdoray wrote: > ...
4 years, 6 months ago (2016-06-16 15:07:07 UTC) #9
fdoray
one question https://codereview.chromium.org/2064073003/diff/1/base/task_scheduler/task_scheduler.h File base/task_scheduler/task_scheduler.h (right): https://codereview.chromium.org/2064073003/diff/1/base/task_scheduler/task_scheduler.h#newcode67 base/task_scheduler/task_scheduler.h:67: static void InitializeDefaultTaskScheduler( On 2016/06/16 15:07:07, gab ...
4 years, 6 months ago (2016-06-16 18:10:53 UTC) #10
fdoray
PTAnL https://codereview.chromium.org/2064073003/diff/40001/base/task_scheduler/task_scheduler.h File base/task_scheduler/task_scheduler.h (left): https://codereview.chromium.org/2064073003/diff/40001/base/task_scheduler/task_scheduler.h#oldcode64 base/task_scheduler/task_scheduler.h:64: static void InitializeDefaultTaskScheduler(); I'm not convinced that we ...
4 years, 6 months ago (2016-06-16 19:33:18 UTC) #13
robliao
https://codereview.chromium.org/2064073003/diff/40001/base/task_scheduler/task_scheduler.h File base/task_scheduler/task_scheduler.h (left): https://codereview.chromium.org/2064073003/diff/40001/base/task_scheduler/task_scheduler.h#oldcode64 base/task_scheduler/task_scheduler.h:64: static void InitializeDefaultTaskScheduler(); On 2016/06/16 19:33:18, fdoray wrote: > ...
4 years, 6 months ago (2016-06-16 20:51:15 UTC) #14
fdoray
https://codereview.chromium.org/2064073003/diff/40001/base/task_scheduler/task_scheduler_impl.cc File base/task_scheduler/task_scheduler_impl.cc (right): https://codereview.chromium.org/2064073003/diff/40001/base/task_scheduler/task_scheduler_impl.cc#newcode89 base/task_scheduler/task_scheduler_impl.cc:89: const size_t num_thread_pools = delegate_->GetNumThreadPools(); On 2016/06/16 20:51:15, robliao ...
4 years, 6 months ago (2016-06-17 15:14:34 UTC) #15
fdoray
PTAnL https://codereview.chromium.org/2064073003/diff/40001/base/task_scheduler/task_scheduler.h File base/task_scheduler/task_scheduler.h (left): https://codereview.chromium.org/2064073003/diff/40001/base/task_scheduler/task_scheduler.h#oldcode64 base/task_scheduler/task_scheduler.h:64: static void InitializeDefaultTaskScheduler(); On 2016/06/16 20:51:14, robliao wrote: ...
4 years, 6 months ago (2016-06-23 14:37:21 UTC) #16
robliao
Looking good. https://codereview.chromium.org/2064073003/diff/80001/base/task_scheduler/task_scheduler_impl.cc File base/task_scheduler/task_scheduler_impl.cc (right): https://codereview.chromium.org/2064073003/diff/80001/base/task_scheduler/task_scheduler_impl.cc#newcode76 base/task_scheduler/task_scheduler_impl.cc:76: worker_pool_index_for_traits_callback) DCHECK(!worker_pool_index_for_traits_callback.is_null()) https://codereview.chromium.org/2064073003/diff/80001/base/task_scheduler/task_scheduler_impl.h File base/task_scheduler/task_scheduler_impl.h (right): https://codereview.chromium.org/2064073003/diff/80001/base/task_scheduler/task_scheduler_impl.h#newcode52 ...
4 years, 6 months ago (2016-06-23 22:37:03 UTC) #19
gab
https://codereview.chromium.org/2064073003/diff/80001/base/task_scheduler/task_scheduler_impl_unittest.cc File base/task_scheduler/task_scheduler_impl_unittest.cc (right): https://codereview.chromium.org/2064073003/diff/80001/base/task_scheduler/task_scheduler_impl_unittest.cc#newcode140 base/task_scheduler/task_scheduler_impl_unittest.cc:140: return traits.priority() == TaskPriority::BACKGROUND ? 1U : 3U; On ...
4 years, 5 months ago (2016-06-27 18:48:23 UTC) #20
fdoray
PTAnL https://codereview.chromium.org/2064073003/diff/80001/base/task_scheduler/task_scheduler_impl.cc File base/task_scheduler/task_scheduler_impl.cc (right): https://codereview.chromium.org/2064073003/diff/80001/base/task_scheduler/task_scheduler_impl.cc#newcode76 base/task_scheduler/task_scheduler_impl.cc:76: worker_pool_index_for_traits_callback) On 2016/06/23 22:37:03, robliao wrote: > DCHECK(!worker_pool_index_for_traits_callback.is_null()) ...
4 years, 5 months ago (2016-06-27 19:45:05 UTC) #21
robliao
lgtm + nits. https://codereview.chromium.org/2064073003/diff/80001/base/task_scheduler/task_scheduler_impl_unittest.cc File base/task_scheduler/task_scheduler_impl_unittest.cc (right): https://codereview.chromium.org/2064073003/diff/80001/base/task_scheduler/task_scheduler_impl_unittest.cc#newcode152 base/task_scheduler/task_scheduler_impl_unittest.cc:152: std::vector<TaskSchedulerImpl::WorkerPoolCreationArgs> On 2016/06/27 19:45:05, fdoray wrote: ...
4 years, 5 months ago (2016-06-28 00:24:24 UTC) #22
fdoray
gab@: PTAnL https://codereview.chromium.org/2064073003/diff/80001/base/task_scheduler/task_scheduler_impl_unittest.cc File base/task_scheduler/task_scheduler_impl_unittest.cc (right): https://codereview.chromium.org/2064073003/diff/80001/base/task_scheduler/task_scheduler_impl_unittest.cc#newcode152 base/task_scheduler/task_scheduler_impl_unittest.cc:152: std::vector<TaskSchedulerImpl::WorkerPoolCreationArgs> On 2016/06/28 00:24:24, robliao wrote: > ...
4 years, 5 months ago (2016-06-28 15:23:58 UTC) #23
gab
lgtm
4 years, 5 months ago (2016-06-28 20:33:37 UTC) #24
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/2064073003/140001
4 years, 5 months ago (2016-06-28 20:39:31 UTC) #27
commit-bot: I haz the power
Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/28122) ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, ...
4 years, 5 months ago (2016-06-28 20:48:21 UTC) #29
fdoray
+cc: danakj@ FYI, this CL adds arguments to TaskSchedulerImpl::Create to configure the worker pools.
4 years, 5 months ago (2016-06-28 21:03:44 UTC) #30
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/2064073003/160001
4 years, 5 months ago (2016-06-28 21:04:53 UTC) #33
commit-bot: I haz the power
Committed patchset #9 (id:160001)
4 years, 5 months ago (2016-06-28 22:51:25 UTC) #35
commit-bot: I haz the power
Patchset 9 (id:??) landed as https://crrev.com/51da6a83632b8ba4a49c3d7765b810e9d739e214 Cr-Commit-Position: refs/heads/master@{#402583}
4 years, 5 months ago (2016-06-28 22:53:55 UTC) #37
danakj
LGTM https://codereview.chromium.org/2064073003/diff/160001/base/task_scheduler/task_scheduler_impl.h File base/task_scheduler/task_scheduler_impl.h (right): https://codereview.chromium.org/2064073003/diff/160001/base/task_scheduler/task_scheduler_impl.h#newcode85 base/task_scheduler/task_scheduler_impl.h:85: TaskSchedulerImpl(const WorkerPoolIndexForTraitsCallback& explicit
4 years, 5 months ago (2016-06-28 22:58:33 UTC) #39
fdoray
4 years, 5 months ago (2016-07-04 20:57:29 UTC) #40
Message was sent while issue was closed.
https://codereview.chromium.org/2064073003/diff/160001/base/task_scheduler/ta...
File base/task_scheduler/task_scheduler_impl.h (right):

https://codereview.chromium.org/2064073003/diff/160001/base/task_scheduler/ta...
base/task_scheduler/task_scheduler_impl.h:85: TaskSchedulerImpl(const
WorkerPoolIndexForTraitsCallback&
On 2016/06/28 22:58:33, danakj wrote:
> explicit

Done here https://codereview.chromium.org/2124623002/

Powered by Google App Engine
This is Rietveld 408576698