diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-30 20:42:50 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-30 20:42:50 -0400 |
| commit | df28bd051cbcf8b2d9d72bfe4844dd52e2fe1c46 (patch) | |
| tree | c89b619075474d432453367402bb84c0cde36a47 /scripts/test_vgpu_stack.sh | |
| parent | 82173823d526967c57b1f4581bfc9341f5b1f281 (diff) | |
| download | open-iov-df28bd051cbcf8b2d9d72bfe4844dd52e2fe1c46.tar.gz open-iov-df28bd051cbcf8b2d9d72bfe4844dd52e2fe1c46.zip | |
sema-svc: consume rewind replays and sweep-delivered CE entries at once
Two stalls serialized the runtime client's init into one 8 s CE grace window
per push:
- a pin-batch rewind replays recently consumed GPFIFO slots; re-examining a
consumed slot runs the rescue and then holds it for the full grace window
again (observed: the same VA 'skipped after 8000 ms grace' twice, 38 s
apart). The pump now records each consumed slot with the put value it was
consumed at (32-entry per-channel replay ring, persisted across passes)
and consumes a replayed slot whose producing put has not advanced
immediately.
- the content sweep applies releases from RAM pages before the pump reads
their entries, so the pool advances past the entry's payload while it is
pending. entry_want (recorded on first examination) now detects that on
both the unreadable-rescue and the readable-no-release paths and consumes
the entry instead of waiting the grace window.
Evidence: real-release watcher cycle, pool semaphore advances no longer
gated at 8 s intervals once the replay skip engages.
Diffstat (limited to 'scripts/test_vgpu_stack.sh')
0 files changed, 0 insertions, 0 deletions
