summaryrefslogtreecommitdiffstats
path: root/debug/risc-v-gsp-rm-vm/docs
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-11-09 09:44:31 -0500
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-11-09 09:44:31 -0500
commit1ad9216aee2f38bfbb6dc29c2b554eced520d7f8 (patch)
tree68872aa1af5b25a2fd79b5516df7f9699ea40c7d /debug/risc-v-gsp-rm-vm/docs
parent21a2f8b57dbd230bb7f2b5d2522884624d4c4c74 (diff)
downloadopen-iov-1ad9216aee2f38bfbb6dc29c2b554eced520d7f8.tar.gz
open-iov-1ad9216aee2f38bfbb6dc29c2b554eced520d7f8.zip
vgsp-sema: scope GR release deferral to the push's own candidate; fan direct-GL completionsHEADmaster
The GL client's direct-GL init push (beef0100, va=0x4000000) decoded its release (rel=0x4238000 pay=1) but never applied it: svc_fwd_defer_arm() is global over the cross-pass GR candidate ring, so stale unoffered CUDA/RC candidates made any later push "defer" its release. The record was then wiped by the next decode pass (the r824 failure mode) - no sema-sw, pending or deferred line, and the client's fence never advanced. Apply the r824 rule already used by the C56F site to the SET_REPORT_SEMAPHORE and LAUNCH_DMA sites: defer only when the candidate ring entry belongs to this push (push_va match). A release whose push owns no candidate applies inline. Also queue svc_rel_apply_906f() releases on a translation miss instead of dropping them, add a bounded low-VA sema-sw provenance window, and fan direct-GL semaphore completions (0x4000000..0x4300000) through every published VAS translation (the general resolver can name a stale page while the client polls the beef0300 walk page). Evidence: backups/evidence-20261002-victory/r1656 (beef0100 release decoded, never applied) and r1657 (sema-sw va=0x4238000 rb_ok=1 after the fix).
Diffstat (limited to 'debug/risc-v-gsp-rm-vm/docs')
0 files changed, 0 insertions, 0 deletions