diff options
Diffstat (limited to 'searchcore/src/vespa/searchcore/proton/server/shared_threading_service_config.cpp')
-rw-r--r-- | searchcore/src/vespa/searchcore/proton/server/shared_threading_service_config.cpp | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/shared_threading_service_config.cpp b/searchcore/src/vespa/searchcore/proton/server/shared_threading_service_config.cpp index 34fc8a99b1a..0e198f7a986 100644 --- a/searchcore/src/vespa/searchcore/proton/server/shared_threading_service_config.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/shared_threading_service_config.cpp @@ -10,13 +10,11 @@ using ProtonConfig = SharedThreadingServiceConfig::ProtonConfig; SharedThreadingServiceConfig::SharedThreadingServiceConfig(uint32_t shared_threads_in, uint32_t shared_task_limit_in, - uint32_t warmup_threads_in, uint32_t field_writer_threads_in, double feeding_niceness_in, const ThreadingServiceConfig& field_writer_config_in) : _shared_threads(shared_threads_in), _shared_task_limit(shared_task_limit_in), - _warmup_threads(warmup_threads_in), _field_writer_threads(field_writer_threads_in), _feeding_niceness(feeding_niceness_in), _field_writer_config(field_writer_config_in) @@ -28,18 +26,13 @@ namespace { uint32_t derive_shared_threads(const ProtonConfig& cfg, const vespalib::HwInfo::Cpu& cpu_info) { - uint32_t scaled_cores = uint32_t(std::ceil(cpu_info.cores() * cfg.feeding.concurrency)); + auto scaled_cores = uint32_t(std::ceil(cpu_info.cores() * cfg.feeding.concurrency)); // We need at least 1 guaranteed free worker in order to ensure progress. return std::max(scaled_cores, uint32_t(cfg.flush.maxconcurrent + 1u)); } uint32_t -derive_warmup_threads(const vespalib::HwInfo::Cpu& cpu_info) { - return std::max(1u, std::min(4u, cpu_info.cores()/8)); -} - -uint32_t derive_field_writer_threads(const ProtonConfig& cfg, const vespalib::HwInfo::Cpu& cpu_info) { uint32_t scaled_cores = size_t(std::ceil(cpu_info.cores() * cfg.feeding.concurrency)); @@ -60,11 +53,8 @@ SharedThreadingServiceConfig::make(const proton::SharedThreadingServiceConfig::P { uint32_t shared_threads = derive_shared_threads(cfg, cpu_info); uint32_t field_writer_threads = derive_field_writer_threads(cfg, cpu_info); - return proton::SharedThreadingServiceConfig(shared_threads, shared_threads * 16, - derive_warmup_threads(cpu_info), - field_writer_threads, - cfg.feeding.niceness, - ThreadingServiceConfig::make(cfg)); + return {shared_threads, shared_threads * 16, field_writer_threads, + cfg.feeding.niceness, ThreadingServiceConfig::make(cfg)}; } } |