diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-12 22:30:28 -0500 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-12 22:30:28 -0500 |
| commit | acb51d5389219dfe5d6415b753d849753ace98ea (patch) | |
| tree | 5c1c178bc397b790e7ae7ebd58cabf2cc8a69413 /userspace/cuda/tools/cudatool.py | |
| parent | 13a0c5d66258ebc6d06636dc74202f28e32d819c (diff) | |
| download | open-iov-acb51d5389219dfe5d6415b753d849753ace98ea.tar.gz open-iov-acb51d5389219dfe5d6415b753d849753ace98ea.zip | |
vgsp: DDX re-probe stops once the latch has served (stops lookalike switch thrash)
In svc_userd_ddx_reprobe, refuse to switch while the current latch has just
delivered decoded entries (ch->submissions != gr_ram_userd_latch_sub), the
same 'served' criterion the pump's DEFERRED clause uses. The switch path
resets defers=0, so a defers-based guard would have stopped only the first
of c141's six switches; forward-only nput>oput is semantically wrong for
DDX generations (a fresh block starts with a tiny put) and would lock onto
the junk maximum. Validated c150-c153 (rich args + tick): latch SWITCHED
0/run (was 6-8 at ~2 s), sema-xchan uok=1 continuous, and c152/c153 Xorg
logs show ZERO 'Failed to (idle|initialize) DMA'/push-buffer/AddScreen
lines - the ScreenInit DMA instance is now stable on the deferral alone.
Residual (next): Xorg then spins in-kernel (95% CPU, SIGKILL-immune,
xdpyinfo unanswered; userd put=0 get=0 vs last=7098 in sema-xchan is the
lead) - gl_frames still hangs at BAR map.
Diffstat (limited to 'userspace/cuda/tools/cudatool.py')
0 files changed, 0 insertions, 0 deletions
