aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore/src/vespa/searchcore/proton/server/shared_threading_service_config.cpp
diff options
context:
space:
mode:
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.cpp16
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)};
}
}