diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-23 10:59:09 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-23 10:59:09 -0400 |
| commit | be544f65b93095a8713256490edfc90299a173f3 (patch) | |
| tree | a87ea4d01f6dbc15362b194dbfa77872a2d180cc /scripts/check-docs-links.py | |
| parent | cf80189b7e893bdc38d1e1dae122e0bbbb2d3295 (diff) | |
| download | open-iov-be544f65b93095a8713256490edfc90299a173f3.tar.gz open-iov-be544f65b93095a8713256490edfc90299a173f3.zip | |
vgsp-sema r543: hold a GR forward with a partially-resolved argument set (bounded)
The r542 matmul failure was the NOWRITE wedge: the fill resolved 969 pages
but 2 of 13 high argument bases resolved 0 pages; with
gsp_phys_gr_fill_hold=0 the fill is log-only for dropped pages and only the
aggregate all-arguments-unresolved rule holds, so the launch forwarded, the
engine fetched the QMD (qmd_rel=0x600df00d, engine fetch OK) and wrote
nothing (retirement wait 0/1032, NOWRITE-AMBIGUOUS fe_esr=0x80000000,
trap=0x80010250); the client read zeros (MATMUL bad=65536 csum=0).
Fix: the fill now records gr_arg_partial when an ARGUMENT candidate page
was dropped while other arguments resolved. svc_gr_request defers such a
launch once per push VA (SVC_GR_ARG_DEFER_MS window, svc_gr_arg_defer_ok
latch) through the existing bounded busy-defer retry, so the pins can land
before the engine reads the operands. A genuinely junk pointer word pays
the window once per push, not per retry; after the window the historical
forward stands, so the guard can only delay a launch, never hang it.
Diffstat (limited to 'scripts/check-docs-links.py')
0 files changed, 0 insertions, 0 deletions
