Chromium Code Reviews| Index: base/task_scheduler/task_scheduler.cc |
| diff --git a/base/task_scheduler/task_scheduler.cc b/base/task_scheduler/task_scheduler.cc |
| index 00ca4f15ce9c12b8f8f3331c314cdd7418bd6028..e0d1710ac2ddda1f2df740b59d6116ca31270c59 100644 |
| --- a/base/task_scheduler/task_scheduler.cc |
| +++ b/base/task_scheduler/task_scheduler.cc |
| @@ -4,8 +4,11 @@ |
| #include "base/task_scheduler/task_scheduler.h" |
| +#include <algorithm> |
| + |
| #include "base/bind.h" |
| #include "base/logging.h" |
| +#include "base/sys_info.h" |
| #include "base/task_scheduler/scheduler_worker_pool_params.h" |
| #include "base/task_scheduler/task_scheduler_impl.h" |
| #include "base/threading/platform_thread.h" |
| @@ -21,11 +24,13 @@ TaskScheduler* g_task_scheduler = nullptr; |
| } // namespace |
| // static |
| -void TaskScheduler::CreateAndSetSimpleTaskScheduler(int max_threads) { |
| +void TaskScheduler::CreateAndSetSimpleTaskScheduler(const std::string& name) { |
| + constexpr int kMinNumThreads = 2; |
|
robliao
2017/03/13 23:56:05
For single-core non-hyperthreaded processors, shou
fdoray
2017/03/14 15:08:22
1 might be a more justifiable lower bound.
|
| std::vector<SchedulerWorkerPoolParams> worker_pool_params_vector; |
| worker_pool_params_vector.emplace_back( |
| - "Simple", ThreadPriority::NORMAL, |
| - SchedulerWorkerPoolParams::StandbyThreadPolicy::LAZY, max_threads, |
| + name, ThreadPriority::NORMAL, |
| + SchedulerWorkerPoolParams::StandbyThreadPolicy::LAZY, |
| + std::max(kMinNumThreads, base::SysInfo::NumberOfProcessors()), |
| TimeDelta::FromSeconds(30)); |
| CreateAndSetDefaultTaskScheduler( |
| worker_pool_params_vector, |