about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbjorn3 <17426603+bjorn3@users.noreply.github.com>2022-08-24 12:22:01 +0200
committerbjorn3 <17426603+bjorn3@users.noreply.github.com>2022-08-24 12:22:01 +0200
commit293223d0cf504c6bf0f314dcdabced1e828906dd (patch)
tree36d6c68f75579a3990ab4ec6fc1ade523ed81297 /src
parentf71c54574687681d0ea61175e3b78a823bfb5dee (diff)
downloadrust-293223d0cf504c6bf0f314dcdabced1e828906dd.tar.gz
rust-293223d0cf504c6bf0f314dcdabced1e828906dd.zip
Tune drop_excess_capacity
Diffstat (limited to 'src')
-rw-r--r--src/concurrency_limiter.rs16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/concurrency_limiter.rs b/src/concurrency_limiter.rs
index d966ea323eb..ba9e82447dd 100644
--- a/src/concurrency_limiter.rs
+++ b/src/concurrency_limiter.rs
@@ -152,14 +152,14 @@ mod state {
 
         fn drop_excess_capacity(&mut self) {
             self.assert_invariants();
-            if self.active_jobs == self.pending_jobs {
-                // Drop all excess tokens
-                self.tokens.truncate(std::cmp::max(self.active_jobs, 1));
-            } else {
-                // Keep some excess tokens to satisfy requests faster
-                const MAX_EXTRA_CAPACITY: usize = 2;
-                self.tokens.truncate(std::cmp::max(self.active_jobs + MAX_EXTRA_CAPACITY, 1));
-            }
+
+            // Drop all tokens that can never be used anymore
+            self.tokens.truncate(std::cmp::max(self.pending_jobs, 1));
+
+            // Keep some excess tokens to satisfy requests faster
+            const MAX_EXTRA_CAPACITY: usize = 2;
+            self.tokens.truncate(std::cmp::max(self.active_jobs + MAX_EXTRA_CAPACITY, 1));
+
             self.assert_invariants();
         }
     }