diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-15 17:50:52 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-15 17:50:52 -0400 |
| commit | de91d640757afb40b1f78d659399a5cff3e540c6 (patch) | |
| tree | c1df846086ead6aacf11f369eafcf1a6b835526d /scripts/debug_guest_init.sh | |
| parent | ecfb1278086f98161402f93bca8d3df602fbcb45 (diff) | |
| download | open-iov-de91d640757afb40b1f78d659399a5cff3e540c6.tar.gz open-iov-de91d640757afb40b1f78d659399a5cff3e540c6.zip | |
vgsp-gr: m156 fail-closed release gate - backend half (witness + deferred release0)
The engine's QMD/channel completion ack is a front-end retirement, not an
execution witness. r155 live evidence: streams2's launch logged
qmd_rel=6/ch_rel=0xc0ffee02 while the retirement wait saw '0/205 pages
changed' on the initial attempt and all three outcome retries; the backend
then returned success and the client read all-zero output (STREAMS
bad=32768). The r152 matmul/smiley boots show the same signature.
For a data-bearing launch (resolved operand pages + working bounce window):
- new param gsp_phys_rmcall_gr_failclosed (default 1) forces release0 to
the module semaphore (the m64 rel-mod shape), so the engine's ack cannot
reach the guest's release word before an executor is witnessed;
- when the retirement wait still saw zero writes after the bounded
retries, the backend returns -EIO instead of success and logs
'FAIL-CLOSED: ... success withheld', so the sema service can withhold
the guest release and fail loudly (companion commit).
Set gsp_phys_rmcall_gr_failclosed=0 to restore the historical fail-open
behavior. Build: make -j8 (kernel), green.
Diffstat (limited to 'scripts/debug_guest_init.sh')
0 files changed, 0 insertions, 0 deletions
