summaryrefslogtreecommitdiffstats
path: root/debug/risc-v-gsp-rm-vm/docs
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-18 15:48:15 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-18 15:49:08 -0400
commit5e7d7861c95b472d21ad79bb05b59091748c5bf4 (patch)
treef890c4968f6958cba2861a0387b64f741f9d4e7a /debug/risc-v-gsp-rm-vm/docs
parenta62ba6f234bad3264f71a77b833d9b22f0210c54 (diff)
downloadopen-iov-5e7d7861c95b472d21ad79bb05b59091748c5bf4.tar.gz
open-iov-5e7d7861c95b472d21ad79bb05b59091748c5bf4.zip
vgsp: bounded newbind/rebuild diagnostic tokens (r234 discrimination)
r233: ctaid_probe attempt-1 completed (newbind fix works) but the NEXT client (P2, fresh process after P1's CLEAN teardown+flush) stalled with zero tokens. witness-r233.log shows why: after the last FREE (180966.07) and rebuild #40 (180967.07) the guest sends ZERO traffic for 9+ s (only 'completion hint rc=-2'); no channel binding ever exists, so no entry-level recovery (pending-map/chanswitch/stale-entry) can apply. Pattern across boots: a CLEAN client exit is followed by a pre-registration stall; a KILLED client is followed by a working client. Diagnostics added (bounded 16/session each): - 'GR-STALL-newbind h=... put=... get=... action=window reason=stale-entry-newbind' when a binding's freshness window is armed (proves the reconcile runs per binding, not just once). - 'GR-STALL-rebuild consumed=1 by=svc_thread ...' when the service loop consumes svc.rebuild_now (proves the forced rebuild is taken; rules out the stale-flag hypothesis). wd_chanswitch/wd_newbind_until are per-channel/per-binding (armed on every !same_gen registration) - no global-state stomping between clients. make kernel green. (cherry picked from commit 2e6921f4fe7d2a0dcd478430981367a6e354465c)
Diffstat (limited to 'debug/risc-v-gsp-rm-vm/docs')
0 files changed, 0 insertions, 0 deletions