diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-09 09:44:31 -0500 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-09 09:44:31 -0500 |
| commit | 1ad9216aee2f38bfbb6dc29c2b554eced520d7f8 (patch) | |
| tree | 68872aa1af5b25a2fd79b5516df7f9699ea40c7d /tools/rmtop/include/rmtop.h | |
| parent | 21a2f8b57dbd230bb7f2b5d2522884624d4c4c74 (diff) | |
| download | open-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 'tools/rmtop/include/rmtop.h')
0 files changed, 0 insertions, 0 deletions
