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 | a6cee384160b3210911838f79a8082d541da00f5 (patch) | |
| tree | ba05daedeca1f0c61e555516c6b7e972ae3276c1 /tools | |
| parent | 6d5131e87a2c9cb5c20437669c1917f7be6252b5 (diff) | |
| download | open-iov-a6cee384160b3210911838f79a8082d541da00f5.tar.gz open-iov-a6cee384160b3210911838f79a8082d541da00f5.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')
0 files changed, 0 insertions, 0 deletions
