summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_comm.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-08 23:22:07 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-08 23:22:07 -0400
commit06deaccd97b69f0beffe7d98ff9bfc1b0428591e (patch)
tree43581557c4cb8147e8dd8b4d2c57ce2aa54c5bab /kernel/gsp_comm.c
parentc31485b90d903bf8d3b20805b6aee2591911ad63 (diff)
downloadopen-iov-06deaccd97b69f0beffe7d98ff9bfc1b0428591e.tar.gz
open-iov-06deaccd97b69f0beffe7d98ff9bfc1b0428591e.zip
vgsp-sema: flush per-session discovery state when the last channel closes (ISSUE-0002)
A second CUDA client in the same guest runs in a new UVM VA space that reuses the same VAs backed by new pages. The service's discovery state (merged scan map, pinned push-buffer pairs, discovered page-directory latch, direct_base, pool-PA cache, CE ring-done ranks, retry queue, forward-release records, GRCE dst ring records, pending releases, VA spaces) is learned from the live client and was never reset, so the next session inherited translations for the previous session's pages: its rings never auto-pinned, releases queued unresolved in svc_pending and the client spun at its first channel. One clean boot always works, so make the next session look like one: when the channel set empties mark a flush; the next rebuild (forced immediately) resets the same state a fresh boot starts with, and the new client re-discovers from its own content.
Diffstat (limited to 'kernel/gsp_comm.c')
0 files changed, 0 insertions, 0 deletions