summaryrefslogtreecommitdiffstats
path: root/tools/site
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-23 17:32:20 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-23 17:32:20 -0400
commit3ba89790de6bde0efec10c25be5e5254fe10014e (patch)
treef39a85ebb02cff6eff38a66c1e2c08b300c4d779 /tools/site
parentf7c626f1bcb1a031372c855db3e9e9cb545085a4 (diff)
downloadopen-iov-3ba89790de6bde0efec10c25be5e5254fe10014e.tar.gz
open-iov-3ba89790de6bde0efec10c25be5e5254fe10014e.zip
vgsp-sema r566: note a held entry's unexecuted device-dst copies for the launch guard
Root cause (r567/r568, deterministic): the mail client's b H2D COPY op was COLLECTED but never attempted while its entry was held for another operand; the VADD launch's copy-in ran 0.6 s BEFORE the copy executed, so the engine read b = 0 and computed c = a + 0 (the readback page held a's values {0.0,0.5,1.0,1.5} vs the correct {0.0,0.75,1.5,2.25}). The r541 guard only saw copies that FAILED with -ENOENT (svc_dstpend_note at the failure site), so a merely PENDING copy was invisible to it. svc_dstpend_note_ops() runs after each svc_run_ops() call in svc_decode_stream whenever svc.op_tr_pending is set: every collected device-dst copy whose per-op done bit is not set (i.e. did not execute this pass or earlier) gets its destination noted. The launch guard then defers until the copy runs (the copy's success path clears the record), bounded by the existing dstpend TTL + busy-defer + 15 s cap machinery.
Diffstat (limited to 'tools/site')
0 files changed, 0 insertions, 0 deletions