mudler / mudler/vllm.cpp

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

Open
#2,700 1 comment 0 reactions 0 assignees View on GitHub

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 {}; at src/vllm/v1/core/single_type_kv_cache_manager.cpp:830. Upstream's
    and not has_partial_hit conjunct has no analogue here (see the note on [151]
    below).
  • [147]: change src/vllm/v1/kv_offload/tiering_manager.cpp:212 from kRetry to
    kHitPending, and re-derive whether src/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 callertake_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::kFullAttention at
    src/vllm/v1/core/single_type_kv_cache_manager.cpp:153 and :173. This is the
    predicate e3fe212eaf widens to isinstance(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,759 and
    sched/scheduler.py:315 already carry it) and is already owed:
    .agents/specs/prefix-match-unit.md:79 lists it as W3, row KV-PREFIX-MATCH-UNIT
    (.agents/engine-matrix.md:60, PARTIAL).
  • [152] 9035151d6c, model half — Dots3 NOTE is a live SPIKE under
    #699, .agents/model-matrix.md:124,
    with its residuals under ## Owed in .agents/specs/dots3-note.md:5381-5411 and
    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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.