diff --git a/python/sglang/srt/mem_cache/hiradix_cache.py b/python/sglang/srt/mem_cache/hiradix_cache.py index 78fac7e2a..8184f3804 100644 --- a/python/sglang/srt/mem_cache/hiradix_cache.py +++ b/python/sglang/srt/mem_cache/hiradix_cache.py @@ -3438,36 +3438,13 @@ class HiRadixCache(RadixCache): ) record_stage("owner_lane_evict") - if not any(v > 0 for v in load_back_plan.deficit_by_owner) and any( - v > 0 for v in load_back_plan.free_room_deficit_by_owner - ): - # Best-effort L1 free-room maintenance for CP load-back. Exact - # admission may still succeed with a nearly empty owner lane - # (common for one-page host hits that all map to owner 0), but - # letting those loads proceed without replenishing free room can - # starve the next extend batch. Free-room target misses are not - # fatal; exact deficits remain the strict condition below. - free_room_deficits = [ - int(v) for v in load_back_plan.free_room_deficit_by_owner - ] - free_room_pages = sum(max(0, v) for v in free_room_deficits) - if free_room_pages > 0: - evict_result = self.evict( - EvictParams( - num_tokens=free_room_pages * self.page_size, - owner_lane_deficits=free_room_deficits, - ) - ) - logger.debug( - "[HiCache-load] owner-lane free-room eviction before CP " - "load-back: node_id=%d free_room_deficit_by_owner=%s " - "num_tokens_evicted=%d", - last_hit_node.id, - free_room_deficits, - getattr(evict_result, "num_tokens_evicted", 0), - ) - load_back_plan = self._refresh_cp_load_back_plan(load_back_plan) - record_stage("owner_lane_free_room_evict") + if any(v > 0 for v in load_back_plan.free_room_deficit_by_owner): + # L1 free-room is an advisory signal for future extend batches, + # not a reason to put synchronous eviction on the CP load-back + # hot path when exact owner-lane admission already succeeds. + # Exact deficits are handled above; proactive/free-room refill + # should happen outside this latency-sensitive L2->L1 path. + record_stage("owner_lane_free_room_advisory") if any(v > 0 for v in load_back_plan.deficit_by_owner): self.dec_lock_ref(ancester_node)