diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-09 08:13:13 -0500 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-09 08:13:13 -0500 |
| commit | 80cbbd043ad26c3e35f83fc0165357a1629b7124 (patch) | |
| tree | 2d5d6c8c702ee89173ff1e0b95a3ea310d22a470 /debug/risc-v-gsp-rm-vm/examples/probes | |
| parent | 7876ce047d1e60cae04babbdc6ffb4a00042ba38 (diff) | |
| download | open-iov-80cbbd043ad26c3e35f83fc0165357a1629b7124.tar.gz open-iov-80cbbd043ad26c3e35f83fc0165357a1629b7124.zip | |
vgsp-sema: author the UVM init-push release at the channel's own rank slot
r1645 live proof fixes the channel-pool slot mapping: UVM allocates one
tracking semaphore per channel in channel-creation order, so channel rank N
owns pool slot N, and channel_init() waits for payload 1 at that slot. The
r1642 rank+1 fallback pre-satisfied the next rank before its
uvm_gpu_semaphore_alloc() zeroed the slot; the value was lost and the guest
spun in uvm_push_end_and_wait (r1644/r1645: manual write of 1 to the rank-1
slot cleared the spin).
- pool-tracker apply now targets slot = ce_index and fans the value out to
the secondary pool-page candidate, which flaps between the RM memdesc and
the guest's VAS walk (r1645: the guest polled the walk page while the boot
cache named a stale, reused page).
- first-submission authoring no longer requires an unlatched ring. A latch
with put=get=0 still needs the release (rank 5, r1646), so every UVM CE
pool channel authors its own rank slot once when the work-submit notifier
clears; one-shot per rank, forward-only, idempotent.
- widen the UVM CE GPFIFO window filter to 0x121800000.
Evidence: backups/evidence-20261002-victory/r1645 (channels advanced once the
rank slot was written) and r1646 (ranks 0-4 green; rank 5 exposed the
latched-but-undecoded gap).
Diffstat (limited to 'debug/risc-v-gsp-rm-vm/examples/probes')
0 files changed, 0 insertions, 0 deletions
