summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_gpu.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-30 20:52:06 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-30 20:52:06 -0400
commit662d3d49d6d43b33da72196d6e1060ed7cc043ab (patch)
treeead3a31a3d3e11d4ddd8080004032291a6c13b4c /kernel/gsp_phys_gpu.h
parent83ded3466f0f6367387be6c74dbeea9fe0e661f8 (diff)
downloadopen-iov-662d3d49d6d43b33da72196d6e1060ed7cc043ab.tar.gz
open-iov-662d3d49d6d43b33da72196d6e1060ed7cc043ab.zip
sema-svc: detect a decoded release by count, not by the (unchanging) VA
The pump decided "this push carried a release" by comparing the last decoded release VA before/after svc_decode_stream. Consecutive pushes on a channel release to the SAME tracking-semaphore VA (UVM's tracker pattern), so every push after the first read as release-less: the entry was held for the full CE grace window (observed: exactly one push consumed per 8 s, gating the whole runtime init; the release itself had already been applied by the decode, only the pump's bookkeeping stalled). svc_rel_count now increments on every decoded release (host sem block, REPORT_SEM block, CE launch-DMA release) and the pump compares counts at all three sites (initial decode, rescue re-route, rescued-page retry).
Diffstat (limited to 'kernel/gsp_phys_gpu.h')
0 files changed, 0 insertions, 0 deletions