From 7852e50e4dc4f42a67e9ce8471b177282326145c Mon Sep 17 00:00:00 2001 From: Georgii Kliukovkin Date: Thu, 11 Jun 2026 02:49:51 -0700 Subject: [PATCH] [docs] Document --scheduler-cls base class requirement (extend AsyncScheduler, not Scheduler) (#43724) Signed-off-by: Georgii Kliukovkin Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com> Co-authored-by: Claude Sonnet 4.6 Co-authored-by: Harry Mellor <19981378+hmellor@users.noreply.github.com> --- vllm/config/scheduler.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/vllm/config/scheduler.py b/vllm/config/scheduler.py index 7900c94848..9669bd1cc4 100644 --- a/vllm/config/scheduler.py +++ b/vllm/config/scheduler.py @@ -175,12 +175,13 @@ class SchedulerConfig: return Scheduler - # This warning can be removed once the Scheduler interface is - # finalized and we can maintain support for scheduler classes that - # implement it + # The first half of this warning can be removed once the Scheduler interface is + # finalized and we can maintain support for scheduler classes that implement it logger.warning_once( - "Using custom scheduler class %s. This scheduler interface is " - "not public and compatibility may not be maintained.", + "Using custom scheduler class %s. This scheduler interface is not public " + "and compatibility may not be maintained. If you have subclassed Scheduler " + "instead of AsyncScheduler, you will see degraded performance due to async " + "scheduling being disabled.", self.scheduler_cls, # type: ignore[arg-type] ) if not isinstance(self.scheduler_cls, str):