diff --git a/vllm/v1/core/sched/scheduler.py b/vllm/v1/core/sched/scheduler.py index 4323141c435b..5ac3a0d01b98 100644 --- a/vllm/v1/core/sched/scheduler.py +++ b/vllm/v1/core/sched/scheduler.py @@ -397,7 +397,12 @@ def schedule(self) -> SchedulerOutput: while self.waiting and token_budget > 0: if len(self.running) == self.max_num_running_reqs: break - + if len(scheduled_resumed_reqs) + len(scheduled_new_reqs) >= max( + 1, + self.max_num_running_reqs + // self.parallel_config.pipeline_parallel_size, + ): + break request = self.waiting.peek_request() # KVTransfer: skip request if still waiting for remote kvs.