[RadixTree][8/N Refactor]: unify lock interface (#20330)
This commit is contained in:
@@ -3,6 +3,7 @@ from __future__ import annotations
|
||||
import logging
|
||||
|
||||
from sglang.srt.managers.prefill_delayer import PrefillDelayerSinglePassExecutor
|
||||
from sglang.srt.mem_cache.base_prefix_cache import DecLockRefParams
|
||||
from sglang.srt.utils import get_bool_env_var
|
||||
|
||||
_ROUTING_KEY_POLICY_DEBUG_LOG = get_bool_env_var("SGLANG_ROUTING_KEY_POLICY_DEBUG_LOG")
|
||||
@@ -560,11 +561,9 @@ class PrefillAdder:
|
||||
self._update_prefill_budget(prefix_len, trunc_len, 0)
|
||||
|
||||
def _req_inc_lock_ref(self, req: Req):
|
||||
result = self.tree_cache.inc_lock_ref(req.last_node)
|
||||
if self.is_hybrid_swa:
|
||||
swa_uuid_for_lock = self.tree_cache.inc_lock_ref(req.last_node)
|
||||
req.swa_uuid_for_lock = swa_uuid_for_lock
|
||||
else:
|
||||
self.tree_cache.inc_lock_ref(req.last_node)
|
||||
req.swa_uuid_for_lock = result.swa_uuid_for_lock
|
||||
|
||||
def add_dllm_staging_req(self, req: Req):
|
||||
assert self.dllm_config is not None
|
||||
@@ -624,14 +623,15 @@ class PrefillAdder:
|
||||
@contextmanager
|
||||
def _lock_node(self, last_node: TreeNode):
|
||||
try:
|
||||
result = self.tree_cache.inc_lock_ref(last_node)
|
||||
if self.tree_cache.supports_swa() and self.tree_cache.is_tree_cache():
|
||||
swa_uuid_for_lock = self.tree_cache.inc_lock_ref(last_node)
|
||||
else:
|
||||
self.tree_cache.inc_lock_ref(last_node)
|
||||
swa_uuid_for_lock = result.swa_uuid_for_lock
|
||||
yield None
|
||||
finally:
|
||||
if self.tree_cache.supports_swa() and self.tree_cache.is_tree_cache():
|
||||
self.tree_cache.dec_lock_ref(last_node, swa_uuid_for_lock)
|
||||
self.tree_cache.dec_lock_ref(
|
||||
last_node, DecLockRefParams(swa_uuid_for_lock=swa_uuid_for_lock)
|
||||
)
|
||||
else:
|
||||
self.tree_cache.dec_lock_ref(last_node)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user