summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-08 00:46:38 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-08 00:46:38 -0400
commit1d51c63d76c960ae3a13fd8a14d172674114d6f0 (patch)
tree76bff4c783701f85a65c44b535213741aab50e35 /config
parentbf8915caeb4c983dbfb3b9bbd1bb3836bdc4761f (diff)
downloadopen-iov-1d51c63d76c960ae3a13fd8a14d172674114d6f0.tar.gz
open-iov-1d51c63d76c960ae3a13fd8a14d172674114d6f0.zip
tools: stream UVM trace via trace_pipe in the guest pin scanner (kill the second-client stall race)
The guest scanner's TraceReader tailed the last 256 KB of the trace ring every 0.3 s. A one-shot uvmt sem= event could age out of that window before the next poll (the client's spin floods the ring), so a second client in the same VM was never discovered: semfix re-pinned the previous client's freed sem while the new client's push page stayed untranslated (host nomap, drain held, guest spins forever). - guest_pin_stream.py: consume /sys/kernel/tracing/trace_pipe instead (each event delivered exactly once; no ring-window race), with reconnect on read error. The old ring-tail read is kept only as semfix's fallback. - clear the trace ring on every client switch so the fallback cannot re-learn the previous client's stale events.
Diffstat (limited to 'config')
0 files changed, 0 insertions, 0 deletions