Server: Handle context shift better to reduce prompt processing time#973
Merged
Server: Handle context shift better to reduce prompt processing time#973
Conversation
Add context-shift args Add back ga_n in context shift
ikawrakow
approved these changes
Nov 19, 2025
be6ec7a to
05c8237
Compare
Owner
|
Are you ready to merge, or still making changes? |
Collaborator
Author
|
Ready to merge if you think it's good. |
|
ah amazing thanks! |
CamNoob
pushed a commit
to CamNoob/ik_llama.cpp
that referenced
this pull request
Feb 27, 2026
The bug was likely introduced in PR ikawrakow#973 when the similarity calculation was changed from LCP to token-level similarity, but sim_best was still initialized to 0 instead of -1.0f. When slot_prompt_similarity threshold was set high (e.g., 0.8) and no slot met the threshold, sim_best stayed at 0, causing ret to remain nullptr. This led to the system getting stuck without selecting any slot. This fix: - Changed sim_best initialization from 0 to -1.0f - Added best_slot variable to track the best slot found during similarity search - Only set ret = best_slot after the loop completes - Removed redundant ret == nullptr check This ensures that even when no slot meets the slot_prompt_similarity threshold, the system still identifies the best available slot and falls back to LRU correctly. Related: PR ikawrakow#973 (Server: Handle context shift better), PR ikawrakow#1285 (Fix slot prompt updating)
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR brings back context shift that was removed in #954, which has also been removed in mainline. Fix #960
Add
--context-shiftarg:(auto|on|off|0|1)to enable or disable the context shift feature, default is on.Keep a sliding window of the prompt when prompt is longer than the context size and shift the kv cache accordingly to avoid reprocessing the whole prompt.
Make the context shift compatible with prompt caching feature. When printing the cache using, add discarded tokens count to track the total prompt processed.