summaryrefslogtreecommitdiffstats
path: root/tools/rmtool/include
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-11-15 15:23:27 -0500
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-11-15 15:23:27 -0500
commit70b49517fe95940c7e91c3d7fdb0ea3014a1534f (patch)
tree83607b8209aab0e1b751772dcfcd29e6abe08500 /tools/rmtool/include
parentc9661edb46f087c67ffd9dca7ac30b291503ecd3 (diff)
downloadopen-iov-70b49517fe95940c7e91c3d7fdb0ea3014a1534f.tar.gz
open-iov-70b49517fe95940c7e91c3d7fdb0ea3014a1534f.zip
vgsp: eng59c - preserve the saved release window across the beef channel recycle; defer non-ready takes
c765/c766: the release carrier saved the held 324/728 B window, then the client re-registered the beef channel before the pack completed. The follow-up's chan_ctx_reset cancelled the saved record unconditionally (consumed=true, valid=false) even though keep_done_across_recycle=1 means the engine context and packed program survive; the pack-completion arm then early-returned and the release never fired. With keep_done_across_recycle=1 the re-register is a client-handle recycle, not a context loss: keep the release record. Cancel it only in the genuine !keep_done wipe path. Also make release_take defer (not consume) on not-armed/grace/pack-not-resident with bounded MME-CARRY-HOLD receipts; only terminal conditions or a failed fire consume. release_rearm now runs unconditionally with the knob on and release_arm gates on pack_done, so the record survives the save->completion gap. Build rc 0; validation pending.
Diffstat (limited to 'tools/rmtool/include')
0 files changed, 0 insertions, 0 deletions