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
commitd94fc701b557c685e07dbc5470f56b3adee89e70 (patch)
treeb1cff38ccb3f7836f058d0167f65852b718e0090 /kernel/gsp_phys_gpu.h
parent37dc6aa328fbb9f2df3e47805775dc32cff0352c (diff)
downloadopen-iov-d94fc701b557c685e07dbc5470f56b3adee89e70.tar.gz
open-iov-d94fc701b557c685e07dbc5470f56b3adee89e70.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