diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-29 16:20:42 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-29 16:20:42 -0400 |
| commit | 09a729ac2a8c6f1865d5ef3bfd2b4df55d43764a (patch) | |
| tree | 27f2abde9511a73f73239a87359f714da4fa4fab /tools/guest-diag | |
| parent | 6b445171b4c50ed74f19272f5bff7c0f42887e6d (diff) | |
| download | open-iov-09a729ac2a8c6f1865d5ef3bfd2b4df55d43764a.tar.gz open-iov-09a729ac2a8c6f1865d5ef3bfd2b4df55d43764a.zip | |
sema-svc: never consume a CE entry whose release was not delivered
The fake-release fallback acknowledged unreadable CE pushes even when the
tracking-semaphore pool page had no translation yet, so the GPFIFO entry was
consumed without writing the semaphore the client waits on (observed: client
stuck in UVM_GPU_REGISTER while CE channel 2's release never landed, its
push-buffer pin arriving ~2 s later).
- svc_fake_release now reports failure when the pool page cannot be
translated/read/written instead of pretending success.
- CE channels with the fallback enabled leave the entry pending (no
multi-second RAM rescue) until the pool pin lands; the skip path only
consumes an entry when the release was actually delivered.
Diffstat (limited to 'tools/guest-diag')
0 files changed, 0 insertions, 0 deletions
