Click a patch. Blue outline = what it needs
(ancestors); vermilion = what needs it (descendants). Click again or press
Clear to reset.
Legend
verified dependency
inferred (verify during group review)
dotted purple arrow, hollow head: no regression — the later patch works without the earlier one, but without it would degrade another feature (named on hover), so the earlier one goes first
gold arrow: completes an end goal (hexagons). Each goal is drawn beside the group that achieves it; together the end goals constitute the ASI end state (guest-owned data not reachable from other contexts).
green node border: vetted so far (status shown on selection)
dashed green box: the first posting
double border: posted to xen-devel (thread link on selection)
blue border and ✓ in the label: carries a Reviewed-by (tags shown on selection)
Dependencies already implied by a drawn path are recorded but not drawn; the click-cone includes them.
Groups
VH — Per-vCPU area and mapcache for HVM: d02–d11 (10 patches)
DV — Sparse directmap view: d12–d18 (7 patches)
X1 — vCPU state window and its consumers: d19–d22 (4 patches)
X3 — HVM register state behind the window: d23–d26 (4 patches)
X2 — Key structures off the xenheap: d27–d37 (11 patches)
PH — Per-pCPU stacks for HVM: d38–d58 (21 patches)
VH = per-vCPU area and mapcache for HVM domains, DV = a sparse view of the directmap, alongside the full one, chosen per domain at creation, X = key per-vCPU structures off the xenheap, in three groups: X1 the per-vCPU state window and its first consumers, X2 the guest XSAVE areas, with the multi-page transient maps, FPU changes and XPTI per-domain L3 ahead of them, X3 the HVM register state, PH = per-pCPU stacks for HVM domains. Numbered in series order within a letter;
the series runs VH DV X1 X3 X2 PH. Ranges are positions in this revision of the
page.
Postings
part 1 (Aug 2026) — nodes d19: cover letter (threads via the sidebar; links resolve on lore once posted)
part 2 (Sep 2026) — nodes d02–d07, d19: cover letter (threads via the sidebar; links resolve on lore once posted)
v3 (Oct 2026) — nodes d01–d18: cover letter (threads via the sidebar; links resolve on lore once posted)
Open items
Oct 2026 -- this page maps the whole series: the first posting, d01-d18 (the dashed green box), and the patches planned to follow it. The flushtlb RFC (d59) is posted separately. VH gives HVM domains a per-vCPU per-domain area and mapcache; DV adds a sparse view of the directmap, alongside the full one, chosen per domain at creation. The perdomain interface changes, the asi= option and the per-vCPU L3 (d02-d07) were posted before, as part 2 v2 08-12 and 14, and populate_perdomain_mapping() (d19) as part 1 02 and part 2 v2 02, here in a cut-down form; their thread links are kept.
Node numbers are written dNN and name positions in the series order shown here; they are stable within one revision of this page. The first posting's patches 01-18 are d01-d18; later postings number their own patches from 01.
This graph is a work in progress: it maps the posted series and the patches planned to follow, and dependency lines (especially dashed ones) may still change as the patches are reviewed.
Posting model: a rolling series. Patches are posted from the front as they become ready and dropped once committed; new ones are appended as they mature. "A later patch" in a message may therefore mean "next round in this series".
Edges are logical dependencies -- an edge means the pair cannot compose in the other order without redesign -- plus a few purpose edges ("A exists to make B reviewable") and no-regression edges (dotted purple: B works without A, but without A it would degrade another feature, named in the edge's tooltip, so A goes first). Dashed edges are inferred from titles/messages and should be confirmed as their groups are reviewed.
Source of truth: gen-depgraph.py (same directory);
positions read live from stg series; regenerate with
python3 gen-depgraph.py.