Prhub

#36721 [mem_cache] Add `free_kv_row` to release a request's kv row by row range

原始 PR 作者 hnyls2002 合并时间 2026-09-01 16:14 文件变更 12 提交数 12 评论 0 代码增减 +324 / -85

执行摘要

实现拆解

  1. 核心源码路径
    - python/sglang/srt/mem_cache/common.py(core-logic):源码主路径;涉及符号 free_kv_row_segments;包含 控制流调整、配置键调整、符号定义调整;+40/-4;关键符号:free_kv_row_segments
    - python/sglang/srt/session/streaming_session.py(core-logic):源码主路径;涉及符号 _free_kv_aligned;包含 控制流调整、配置键调整、符号定义调整;+14/-16;关键符号:_free_kv_aligned
    - python/sglang/srt/mem_cache/base_prefix_cache.py(core-logic):源码主路径;涉及符号 free_kv_row;包含 导入关系调整、配置键调整、符号定义调整;+13/-0;关键符号:free_kv_row

  2. 测试与验证
    - test/registered/unit/mem_cache/test_swa_unittest.py(test-coverage):测试配套;涉及符号 _SinglePoolAllocator, init, clear, alloc;包含 测试覆盖调整、导入关系调整、控制流调整;+121/-1;关键符号:_SinglePoolAllocator, init, clear, alloc
    - test/registered/unit/mem_cache/test_streaming_session_unit.py(test-coverage):测试配套;涉及符号 _FakeAllocator, init, clear, alloc;包含 测试覆盖调整、导入关系调整、控制流调整;+56/-6;关键符号:_FakeAllocator, init, clear, alloc
    - test/registered/unit/disaggregation/test_specv2_kvcache_offloading.py(test-coverage):测试配套;涉及符号 _RecordingAllocator, init, clear, alloc;包含 测试覆盖调整、导入关系调整、控制流调整;+34/-6;关键符号:_RecordingAllocator, init, clear, alloc

文件 模块 状态 重要度
test/registered/unit/mem_cache/test_swa_unittest.py swa/unittest modified 7.47
python/sglang/srt/mem_cache/common.py sglang/srt modified 7.18
test/registered/unit/mem_cache/test_streaming_session_unit.py streaming/session/unit modified 7.12
python/sglang/srt/session/streaming_session.py sglang/srt modified 6.99
test/registered/unit/disaggregation/test_specv2_kvcache_offloading.py specv2/kvcache/offloading modified 6.9

关键符号

_SinglePoolAllocator __init__ clear alloc free _RowCache TestFreeKvRow setUp free_kv_row_segments _FakeAllocator

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论