Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
A recent fix for a cascading eviction race condition introduced the possibility of a deadlock between the model cache lock and per-cache entry locks due to eviction callback logic now performed in-line under the cache lock.
Modifications
Rework cache accounting logic to make an eviction/unload related adjustment unconditionally up-front within the cache lock so that it can be released before the entry removal/unload processing is performed along with state-dependent readjustment if necessary.
Also:
oldestTime()
method to not take the cache lock since it's used on the inference request pathResult
Hopefully no more deadlocks
Signed-off-by: Nick Hill [email protected]