diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-19 19:11:25 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-19 19:23:21 -0400 |
| commit | c70bdd101a15f83e74dcafa76e4ed9afce5236a1 (patch) | |
| tree | c11f2d74d5867002cf163c1eb757b819368f092d /wiki/CUDA-Userspace-Driver.md | |
| parent | f88a3995c3f0f06fe69826f08ecbab57ac37420b (diff) | |
| download | open-iov-c70bdd101a15f83e74dcafa76e4ed9afce5236a1.tar.gz open-iov-c70bdd101a15f83e74dcafa76e4ed9afce5236a1.zip | |
vgsp: fail4 - LAND ALL H2D CHUNKS: consume the staging snapshot; capture on first decode
vector_add was deterministic-wrong (bad=786335 checksum=359549561 identical
across boots) because the 1MB H2D chunk copies always read the driver's
ping-pong staging AFTER it had been refilled (the fence release applied long
before the late op execution; 60+ rc=-2 retry storms per chunk).
Two wiring fixes (r314-r315):
1) The decode-time snapshot was NEVER CONSUMED: svc_copy looked it up
(svc_copy_snap_lookup at the top) and freed it on success, but no code read
from it - every copy fell through to the live per-page source resolution
and read refilled staging. The source read loop now takes the bytes from
the snapshot when present (memcpy from snap + o). The copy also no longer
needs a live source translation, so it executes on its first allowed pass
instead of storming retries.
2) Capture on the DENIED pass too: the old capture gate lived in the
op-build block (allowed passes only - by then the fence fired and staging
was refilled). The denied device-dst copy branch now captures immediately
(pipeline-order moment), same translation-probe guard.
Measured r315 (fresh boot): vector_add first run bad=157696 (cold-run
capture coverage gap), second run bad=0 checksum=392344090.5 STATUS OK
with ALL EIGHT chunks clean and no retry storms (~75 s, guest survives).
Previously 786335 bad / identical checksum every boot.
Diffstat (limited to 'wiki/CUDA-Userspace-Driver.md')
0 files changed, 0 insertions, 0 deletions
