defer(PORTQ-4): four inert PORT-NOW entries and one inert half, their gates, plus KV block zeroing, a pre-pin gap three queue entries point at and no row owns
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 423
- Forks
- 53
- Avg merge
- 20h 26m
- Merged PRs (30d)
- 310
Description
Row: -
Deferred work found by wave PORTQ-4
(#2680) re-deriving PORT-NOW
entries 121-160 of 5559679229..e126687a9a.
This is the successor to #2655,
which PORTQ-3 opened for the same reason: an inert entry is deferred, not
discarded. It becomes real the day its gate is ported, so the gate is named here
rather than only inside a dated report nobody will read again.
None of these should be ported before its gate. Each row names the gate and the
path:line that establishes it.
The five inert entries
| entry | upstream | gate that makes it real | established at |
|---|---|---|---|
| 126 | 3e174bb73c vllm#47352 |
index_share_for_mtp_iteration, plus a draft head exposing set_skip_topk / compact_topk_indices |
include/vllm/model_executor/models/glm_moe_dsa.h:132, set at glm_moe_dsa.cpp:371-372, zero consumers |
| 132 | c76a425278 vllm#51739 |
fp8 MLA prefill and DCP | include/vt/ops.h:5217-5219 (dtype refusal); include/vllm/model_executor/layers/attention/mla_chunked_context.h:307-309 |
| 134 | ce07118669 vllm#51766 |
MambaSpec::mamba_cache_mode == "align" |
default "none" at include/vllm/v1/kv_cache_interface.h:469; all six production constructions leave it defaulted or pass "none" explicitly (qwen3_5_common.cpp:89) |
| 142 | e3fe212eaf vllm#51749 |
a non-test consumer of take_new_block_ids() |
include/vllm/v1/core/kv_cache_manager.h:232; zero non-test callers |
| 147 | f067737b2a vllm#51840 |
the OffloadingConnector worker half |
src/vllm/v1/kv_offload/kv_connector.cpp:401-412 to EnsureWorkerTransferSupported, src/vllm/entrypoints/model_loader.cpp:1176, which throws on every device |
Each gate is named so a later reader can falsify the claim by porting it. None
was proven unreachable by construction; each is a reachability judgement about the
tree at a700e8da6.
Two of them have a one-line landing site already located
- [134]: insert
_allocated_block_reqs.insert(request_id);before the
return {};atsrc/vllm/v1/core/single_type_kv_cache_manager.cpp:830. Upstream's
and not has_partial_hitconjunct has no analogue here (see the note on [151]
below). - [147]: change
src/vllm/v1/kv_offload/tiering_manager.cpp:212fromkRetryto
kHitPending, and re-derive whethersrc/vllm/v1/kv_offload/kv_connector.cpp:294
should still collapse the two — today it takes one branch for both, which is the
second, independent reason the entry is inert.
A one-read disposition for a whole directory
[147] and [135] are both behind the same OffloadingConnector worker-half refusal.
Any future PORT-NOW entry touching vllm/v1/kv_offload/ should be checked against
kv_connector.cpp:401-412 first — it settles the directory in one read.
KV block zeroing: one un-owned pre-pin gap, now pointed at by three queue entries
This needs a row, which is why it is here rather than on a port issue.
Entries 142 and 155 (e3fe212eaf, 79f3183f86) and PORTQ-3's entry 90
(d6af803f43) all point at the same missing feature. It is pre-pin:
git show 5559679229:vllm/v1/worker/utils.py already defines class KVBlockZeroer
at line 92, so this tree's distance is not any of the three commits.
What exists here:
- The producer, with no non-test caller —
take_new_block_ids()at
include/vllm/v1/core/kv_cache_manager.h:232, commented "for zeroing". - A recording predicate, narrower than upstream's —
kind() == KVCacheSpecKind::kFullAttentionat
src/vllm/v1/core/single_type_kv_cache_manager.cpp:153and:173. This is the
predicatee3fe212eafwidens toisinstance(spec, AttentionSpec). - A
needs_kv_cache_zeroing()flag (include/vllm/v1/kv_cache_interface.h:542-543)
with test readers only.
What is absent: the worker-side zeroer (KVBlockZeroer is 0 hits over src/,
include/ and tests/, against positive controls of FullAttentionSpec at 73 and
kv.?cache.?spec at 621), and the carrier field, which is recorded OMITTED at
include/vllm/v1/core/sched/output.h:29-31 (new_block_ids_to_zero (v2 model runner)).
Roughly 200-350 lines over include/vllm/v1/core/sched/output.h,
src/vllm/v1/core/sched/scheduler.cpp, src/vllm/v1/worker/gpu/runner.cpp and a
vt:: zero kernel.
No row owns it. grep -rniE "zeroer|zeroing" over .agents/roadmap_v1.md and
every *-matrix.md returns one hit, in the KERNEL-FUSION-FRAMEWORK row, unrelated.
The nearest candidates are KV-MANAGER-ALLOC (.agents/engine-matrix.md:98) for the
producer half and KV-MAMBA-ALIGN (:101, SPIKE) for the reason it matters.
A row is owed before any of the three entries can be ported, and widening the
predicate alone would enlarge a vector nothing reads — which is what
AGENTS.md §"Nothing lands dead" refuses.
Two entries that are already owned, recorded so nobody re-files them
- [151]
8e958902ee— the fine-grained-hit machinery is pre-pin
(5559679229:vllm/v1/core/kv_cache_coordinator.py:583,759and
sched/scheduler.py:315already carry it) and is already owed:
.agents/specs/prefix-match-unit.md:79lists it as W3, rowKV-PREFIX-MATCH-UNIT
(.agents/engine-matrix.md:60,PARTIAL). - [152]
9035151d6c, model half — Dots3 NOTE is a liveSPIKEunder
#699,.agents/model-matrix.md:124,
with its residuals under## Owedin.agents/specs/dots3-note.md:5381-5411and
issues #2615 / #2616.
Verification state
Nothing in this wave was executed — no build, no test run, no GPU, no lease.
Every path:line was printed from the tree at a700e8da6. inert is a reachability
judgement, not a proof.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the listed gates in the model, KV-cache, and offloading files, especially kv_connector.cpp:401-412 and kv_cache_manager.h:232. Then inspect output.h, scheduler.cpp, and gpu/runner.cpp to determine ownership for KV block zeroing. Done requires an owned roadmap row and verified gate-dependent changes; this issue records no build or test results.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100