diff options
author | kruall <kruall@ydb.tech> | 2023-12-22 13:43:53 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-22 13:43:53 +0300 |
commit | d56b8b1dadbcf830166ed8a24e6f3b8209c2cb52 (patch) | |
tree | fad8cb898a94540395496dc8272863ed5831117b | |
parent | c289f6bb70f494aa875e12396954278764e98578 (diff) | |
download | ydb-d56b8b1dadbcf830166ed8a24e6f3b8209c2cb52.tar.gz |
Fix metric PotentialMaxThreadCount (#629)
Co-authored-by: Aleksandr Kriukov <kruall@ydb.ru>
-rw-r--r-- | ydb/library/actors/core/harmonizer.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/ydb/library/actors/core/harmonizer.cpp b/ydb/library/actors/core/harmonizer.cpp index 24eb18ec7d..733606a7b5 100644 --- a/ydb/library/actors/core/harmonizer.cpp +++ b/ydb/library/actors/core/harmonizer.cpp @@ -467,10 +467,6 @@ void THarmonizer::HarmonizeImpl(ui64 ts) { if (budget < -0.1) { isStarvedPresent = true; } - for (size_t poolIdx = 0; poolIdx < Pools.size(); ++poolIdx) { - TPoolInfo& pool = Pools[poolIdx]; - AtomicSet(pool.PotentialMaxThreadCount, Min(pool.MaxThreadCount, budgetInt)); - } double overbooked = consumed - booked; if (overbooked < 0) { isStarvedPresent = false; @@ -591,6 +587,11 @@ void THarmonizer::HarmonizeImpl(ui64 ts) { pool.SetThreadCount(threadCount - 1); } } + + for (size_t poolIdx = 0; poolIdx < Pools.size(); ++poolIdx) { + TPoolInfo& pool = Pools[poolIdx]; + AtomicSet(pool.PotentialMaxThreadCount, std::min<i64>(pool.MaxThreadCount, pool.GetThreadCount() + budgetInt)); + } } void THarmonizer::CalculatePriorityOrder() { |