From a77d3623180b2bc1886f3dd04c0aa04156a987ef Mon Sep 17 00:00:00 2001 From: leejet Date: Thu, 22 Oct 2026 00:03:58 +0800 Subject: [PATCH] fix: recheck memory capacity when eviction candidates are unchanged (#2183) --- src/model_manager.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/model_manager.cpp b/src/model_manager.cpp index 4562ebdf..921989df 100644 --- a/src/model_manager.cpp +++ b/src/model_manager.cpp @@ -1916,12 +1916,12 @@ bool ModelManager::ensure_compute_backend_capacity( }; size_t last_eviction_count = 0; auto release_eviction_states = [&]() { - if (eviction_states.size() == last_eviction_count) { - return false; + if (eviction_states.size() != last_eviction_count) { + last_eviction_count = eviction_states.size(); + release_compute_staging_blocks(false, &eviction_states); + release_params_storage_blocks(false, &eviction_states); } - last_eviction_count = eviction_states.size(); - release_compute_staging_blocks(false, &eviction_states); - release_params_storage_blocks(false, &eviction_states); + // Device memory reports can lag behind releases even when no new candidates are added. return fits(); };