summaryrefslogtreecommitdiffstats
path: root/scripts/debug_guest_init.sh
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-23 20:49:08 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-23 20:49:08 -0400
commite25b9b9e37bb0612bc17d2e8c1710e1c4950cd80 (patch)
tree2059fbfb98e1cfcabbef339abc9a87daf8afbbd8 /scripts/debug_guest_init.sh
parent1e5be920add0dfd2d5c388b9cf8a4a09f3e72e37 (diff)
downloadopen-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 'scripts/debug_guest_init.sh')
0 files changed, 0 insertions, 0 deletions