From 90b78ec5f97384f10cb210368421ae3da17a3823 Mon Sep 17 00:00:00 2001 From: Jinghui Zhang Date: Thu, 5 Jun 2025 23:32:55 -0700 Subject: [PATCH] [v1][P/D] Fix a edge case in kv cache schedule (#19182) Co-authored-by: jinghui --- vllm/v1/core/sched/scheduler.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vllm/v1/core/sched/scheduler.py b/vllm/v1/core/sched/scheduler.py index 7347f8e46cdf..cb9fa61dbaba 100644 --- a/vllm/v1/core/sched/scheduler.py +++ b/vllm/v1/core/sched/scheduler.py @@ -1009,6 +1009,8 @@ class Scheduler(SchedulerInterface): # Now that the blocks are ready, actually cache them. block_ids = self.kv_cache_manager.get_block_ids(request.request_id)[0] num_computed_tokens = len(block_ids) * self.block_size + # Handle the case where num request tokens less then one block. + num_computed_tokens = min(num_computed_tokens, request.num_tokens) if num_computed_tokens == request.num_tokens: num_computed_tokens -= 1 self.kv_cache_manager.cache_blocks(