| Index: chrome/service/service_process.cc
|
| diff --git a/chrome/service/service_process.cc b/chrome/service/service_process.cc
|
| index 0691cb6e4d5ea8ebe189b5da460568e5b2fb4dbf..117771ff7c23e86d00201d9744b0982ca197ba39 100644
|
| --- a/chrome/service/service_process.cc
|
| +++ b/chrome/service/service_process.cc
|
| @@ -163,20 +163,34 @@ bool ServiceProcess::Initialize(base::MessageLoopForUI* message_loop,
|
| }
|
|
|
| // Initialize TaskScheduler and redirect SequencedWorkerPool tasks to it.
|
| - constexpr int kMaxTaskSchedulerThreads = 3;
|
| - std::vector<base::SchedulerWorkerPoolParams> worker_pool_params_vector;
|
| - worker_pool_params_vector.emplace_back(
|
| - "CloudPrintServiceProcess", base::ThreadPriority::NORMAL,
|
| - base::SchedulerWorkerPoolParams::StandbyThreadPolicy::LAZY,
|
| - kMaxTaskSchedulerThreads, base::TimeDelta::FromSeconds(30),
|
| - base::SchedulerBackwardCompatibility::INIT_COM_STA);
|
| + using StandbyThreadPolicy =
|
| + base::SchedulerWorkerPoolParams::StandbyThreadPolicy;
|
| + constexpr int kMaxBackgroundThreads = 1;
|
| + constexpr int kMaxBackgroundBlockingThreads = 1;
|
| + constexpr int kMaxForegroundThreads = 3;
|
| + constexpr int kMaxForegroundBlockingThreads = 3;
|
| + constexpr base::TimeDelta kSuggestedReclaimTime =
|
| + base::TimeDelta::FromSeconds(30);
|
| +
|
| base::TaskScheduler::CreateAndSetDefaultTaskScheduler(
|
| - worker_pool_params_vector,
|
| - base::Bind([](const base::TaskTraits&) -> size_t { return 0; }));
|
| + "CloudPrintServiceProcess",
|
| + {{StandbyThreadPolicy::LAZY, kMaxBackgroundThreads,
|
| + kSuggestedReclaimTime},
|
| + {StandbyThreadPolicy::LAZY, kMaxBackgroundBlockingThreads,
|
| + kSuggestedReclaimTime},
|
| + {StandbyThreadPolicy::LAZY, kMaxForegroundThreads,
|
| + kSuggestedReclaimTime},
|
| + {StandbyThreadPolicy::LAZY, kMaxForegroundBlockingThreads,
|
| + kSuggestedReclaimTime,
|
| + base::SchedulerBackwardCompatibility::INIT_COM_STA}});
|
| +
|
| base::SequencedWorkerPool::EnableWithRedirectionToTaskSchedulerForProcess();
|
|
|
| + // Since SequencedWorkerPool is redirected to TaskScheduler, the value of
|
| + // |kMaxBlockingPoolThreads| is ignored.
|
| + constexpr int kMaxBlockingPoolThreads = 3;
|
| blocking_pool_ =
|
| - new base::SequencedWorkerPool(kMaxTaskSchedulerThreads, "ServiceBlocking",
|
| + new base::SequencedWorkerPool(kMaxBlockingPoolThreads, "ServiceBlocking",
|
| base::TaskPriority::USER_VISIBLE);
|
|
|
| // Initialize Mojo early so things can use it.
|
|
|