From 6e1d9c14647e3e16f2a103b89dead95f1400ea48 Mon Sep 17 00:00:00 2001 From: Hanming Lu <69857889+hanming-lu@users.noreply.github.com> Date: Thu, 17 Sep 2026 22:33:55 -0700 Subject: [PATCH] [profiler] Ignore PREBUILT batches in profile-by-stage (#40098) Co-authored-by: hanminglu --- .../srt/managers/scheduler_components/profiler_manager.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/python/sglang/srt/managers/scheduler_components/profiler_manager.py b/python/sglang/srt/managers/scheduler_components/profiler_manager.py index 59462aa64..53387b6aa 100644 --- a/python/sglang/srt/managers/scheduler_components/profiler_manager.py +++ b/python/sglang/srt/managers/scheduler_components/profiler_manager.py @@ -432,7 +432,9 @@ class SchedulerProfilerManager: if self.profiler_decode_ct > self.profiler_target_decode_ct: if self.profile_in_progress: self._stop_profile(stage=ForwardMode.DECODE) - elif batch.forward_mode.is_idle(): + elif batch.forward_mode.is_idle() or batch.forward_mode.is_prebuilt(): + # PREBUILT is the disaggregated-decode placeholder for requests + # whose KV just arrived; it never enters a model forward. pass else: raise RuntimeError(f"unsupported profile stage: {batch.forward_mode}")