diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-30 20:52:06 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-30 20:52:06 -0400 |
| commit | d94fc701b557c685e07dbc5470f56b3adee89e70 (patch) | |
| tree | b1cff38ccb3f7836f058d0167f65852b718e0090 /kernel/gsp_phys_gpu.h | |
| parent | 37dc6aa328fbb9f2df3e47805775dc32cff0352c (diff) | |
| download | open-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
