summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_gpu.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-11 17:23:45 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-11 17:23:45 -0400
commit12732c5894c893344422da4fd8d075c4c43c8e8a (patch)
tree6df0f33b1d519e9bd37737dd44bc758a97ad718e /kernel/gsp_phys_gpu.c
parent35ca086b20f04f6be5bd935fd53d08e43f67e869 (diff)
downloadopen-iov-12732c5894c893344422da4fd8d075c4c43c8e8a.tar.gz
open-iov-12732c5894c893344422da4fd8d075c4c43c8e8a.zip
vgsp-sema: session boundary is a client change, not the last channel closing (ISSUE-0002)
r79 regression from keeping the CeUtils scrubber channel registered (client-scoped deletion): the session flush trigger required EVERY channel to close, and the scrubber never closes, so the per-session discovery reset never ran and the next client inherited the previous session's map/pins (the r9 class; the first client of r79 wedged the guest on an rwsem with no output). The session is now keyed by owning client: channel_add records svc_sess_client and requests the flush when a channel of a DIFFERENT client registers while the previous session is live (then waits for it, exactly like a pending flush); channel_del's flush trigger counts only channels of the current session client, so persistent kernel/GPU-global channels (the scrubber) no longer keep a dead session open.
Diffstat (limited to 'kernel/gsp_phys_gpu.c')
0 files changed, 0 insertions, 0 deletions