[Disagg] Route disagg prefill results through process_batch_result (#19364)

This commit is contained in:
sglang-bot
2026-02-25 18:38:39 -08:00
committed by GitHub
parent 914ed34757
commit 6e82183f5a
3 changed files with 7 additions and 10 deletions

View File

@@ -370,7 +370,7 @@ class SchedulerDisaggregationPrefillMixin:
# Launch the current batch
if batch:
result = self.run_batch(batch)
self.process_batch_result_disagg_prefill(batch, result)
self.process_batch_result(batch, result)
else:
self.self_check_during_idle()
@@ -405,7 +405,7 @@ class SchedulerDisaggregationPrefillMixin:
# Process the last batch
if self.last_batch:
tmp_batch, tmp_result = self.result_queue.popleft()
self.process_batch_result_disagg_prefill(tmp_batch, tmp_result)
self.process_batch_result(tmp_batch, tmp_result)
elif batch is None:
# When the server is idle, do self-check and re-init some states
self.self_check_during_idle()
@@ -533,9 +533,7 @@ class SchedulerDisaggregationPrefillMixin:
self.send_kv_chunk(req, last_chunk=False, end_idx=req.tmp_end_idx)
req.time_stats.set_last_chunked_prefill_finish_time()
self.maybe_send_health_check_signal()
if self.current_scheduler_metrics_enabled and batch.prefill_stats is not None:
if self.current_scheduler_metrics_enabled:
can_run_cuda_graph = getattr(result, "can_run_cuda_graph", False)
self.log_prefill_stats(
prefill_stats=batch.prefill_stats,

View File

@@ -2441,6 +2441,8 @@ class Scheduler(
elif batch.forward_mode.is_extend():
if batch.is_dllm():
self.process_batch_result_dllm(batch, result)
elif self.disaggregation_mode == DisaggregationMode.PREFILL:
self.process_batch_result_disagg_prefill(batch, result)
else:
self.process_batch_result_prefill(batch, result)
elif batch.forward_mode.is_prebuilt():

View File

@@ -13,7 +13,7 @@ import torch.distributed
from tqdm import tqdm
from sglang.srt.disaggregation.base.conn import KVPoll
from sglang.srt.disaggregation.utils import DisaggregationMode, poll_and_all_reduce
from sglang.srt.disaggregation.utils import poll_and_all_reduce
from sglang.srt.distributed.parallel_state import P2PWork
from sglang.srt.environ import envs
from sglang.srt.layers.dp_attention import (
@@ -980,10 +980,7 @@ class SchedulerPPMixin:
def _pp_process_batch_result(
self: Scheduler, batch: ScheduleBatch, output_result: GenerationBatchResult
):
if self.disaggregation_mode == DisaggregationMode.PREFILL:
self.process_batch_result_disagg_prefill(batch, output_result)
else:
self.process_batch_result(batch, output_result)
self.process_batch_result(batch, output_result)
def _pp_send_output_to_next_stage(
self: Scheduler,