summaryrefslogtreecommitdiffstats
path: root/kernel/Makefile.gsp_rpc
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-09 16:57:48 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-09 16:57:48 -0400
commit210c6b21f0348151ea9145ca3372a75df046d667 (patch)
treef308d12a63044bccea7336316602479912810345 /kernel/Makefile.gsp_rpc
parent8245cd6f200410f8bfd3c6d78b17759b4cd2ce5f (diff)
downloadopen-iov-210c6b21f0348151ea9145ca3372a75df046d667.tar.gz
open-iov-210c6b21f0348151ea9145ca3372a75df046d667.zip
vgsp-sema: software-author the GR launch completion release when the physical forward fails (ISSUE-0002)
r51/r52 root evidence: the second session's GR launch was forwarded to the physical engine; the backend timed out (qmd_rel=5 want=6 after 5 s) while the hold resolution applied only the *stream-recorded* channel release. The QMD launch completion semaphore (the word the client polls in its launch- completion wait) is carried by the GR candidate (gr_rel_va/gr_rel_payload), not by the release records, and nothing authored it on failure - the client spun forever in the completion wait and the pump went idle (pushes=1207, pending=499, crel frozen). Fix: - a GR hold waits for the backend's bounded outcome (12 s bound vs the backend's 5 s poll) instead of the 500 ms CE copy bound, so the release is never authored while the physical submission is still writing guest pages; - on hold resolution without a successful hardware copy (timeout, abort, expiry, or a release0 page the backend could not observe), the QMD release is software-applied forward-only (read/compare, absolute payload write) - idempotent against a late engine write and never rewinds the tracker; - a GR capture whose request did not queue (refused/backend busy/hold active) authors the same release inline when the CUDA bridge is disabled (the bridge job owns it otherwise); - new work_guard counter gr_sw_rel names how often the fallback authored a release, and each write logs its va/payload. Validated: c1 GREEN, c2 GREEN in the same VM (r54; CE->GR, mail + VADD STATUS OK). In that run the forward succeeded so gr_sw_rel stayed 0; the timeout branch is the one r52 proved is reachable.
Diffstat (limited to 'kernel/Makefile.gsp_rpc')
0 files changed, 0 insertions, 0 deletions