summaryrefslogtreecommitdiffstats
path: root/debug/risc-v-gsp-rm-vm/docs/03-SCRIPTING.md
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-21 06:17:49 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-21 06:17:49 -0400
commit3077c18f3acc20c0b92de7a8337c175c14986b94 (patch)
treec85019468bf8976659a377a369dc6501ef71f06d /debug/risc-v-gsp-rm-vm/docs/03-SCRIPTING.md
parent4083a969bde1a39bf23f6cde0f61cace28a8d127 (diff)
downloadopen-iov-3077c18f3acc20c0b92de7a8337c175c14986b94.tar.gz
open-iov-3077c18f3acc20c0b92de7a8337c175c14986b94.zip
sema: r407 drop-stale must not deliver a held entry's releases on a rewind (only consumed entries are stale)
The r406 inplace_scale repro root cause: the H2D copy's operand translation was unresolved (memcopy rc=-2) and the entry was held with its release withheld (correct); a pin-batch rewind then re-opened lower indices (83) while the held entry (91) sat ahead, and the unconditional svc_opdef_drop_stale treated 91 as an already-consumed entry and applied its withheld release at 104955.751. The copy itself only executed at 104957.418 - the client raced past its blocking cudaMemcpy, launched, the launch's copy-in read the stale buffer (previous run's data) and the copy landed after the launch's copy-out: wrong results with a healthy-looking 32/1032 changed and no classifier firing. An entry is only 'passed' if the ring consumed it (slot_done_epoch); gate the stale drop on svc_replay_seen so a rewind can never deliver a still-held entry's release early.
Diffstat (limited to 'debug/risc-v-gsp-rm-vm/docs/03-SCRIPTING.md')
0 files changed, 0 insertions, 0 deletions