diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-23 20:49:08 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-23 20:49:08 -0400 |
| commit | e25b9b9e37bb0612bc17d2e8c1710e1c4950cd80 (patch) | |
| tree | 2059fbfb98e1cfcabbef339abc9a87daf8afbbd8 /userspace/cuda/tools/ghidra/ConfigureAnalysis.java | |
| parent | 1e5be920add0dfd2d5c388b9cf8a4a09f3e72e37 (diff) | |
| download | open-iov-e25b9b9e37bb0612bc17d2e8c1710e1c4950cd80.tar.gz open-iov-e25b9b9e37bb0612bc17d2e8c1710e1c4950cd80.zip | |
vgsp r580: walk-over-bootcache for pool pages + event burst dedup and fast-path hint
Pool resolution (thread: the starve wedge surviving the r577 fix): the
boot-scoped pool cache survives session flushes, but a pool page MOVES
between sessions and the old page often stays readable, so the read-back
proof cannot tell - the resolver wrote releases to the stale cache PA while
the client's tracker read its current page. Live evidence (r579 boot):
pool-wr src=bootcache pa=0x11e6d9000 for va=0x121000000 while the injected
pin/current page was pa=0x134730000; the client spun in uvm_tracker_wait
for minutes. svc_pool_pa_resolve now tries the structural walk (the
client's own page tables) BEFORE trusting the cache: a differing,
read-proven walk page wins (src=walk-over-boot) and the cached page is kept
as the fan-out secondary.
Event burst (r579 boot: events_dropped=724, the 'no postable event
(events_n=8 dropped=724)' sentinel every 0.5 s): apply the 250 ms per-event
dedup to the per-completion shotgun (8 records per completion burned the
48/s budget), and hoist the completion hint above the pump fast path so it
runs under load too (a dropped wake is re-posted within 0.5 s).
Diffstat (limited to 'userspace/cuda/tools/ghidra/ConfigureAnalysis.java')
0 files changed, 0 insertions, 0 deletions
