summaryrefslogtreecommitdiffstats
path: root/kernel/Makefile.gsp_rpc
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-09 15:45:21 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-09 15:45:21 -0400
commit90ed3273a6b7b0241954fde6b2d34ab3270d9081 (patch)
tree77ff0d91112204102e1e6e5be77c566f8ec684b6 /kernel/Makefile.gsp_rpc
parentb2fdd56bfa51d4a1dbc5fe91adb7b82d15e02c00 (diff)
downloadopen-iov-90ed3273a6b7b0241954fde6b2d34ab3270d9081.tar.gz
open-iov-90ed3273a6b7b0241954fde6b2d34ab3270d9081.zip
vgsp-sema: CE layout USERD accepts on PUT alone; GET is GPU-owned (ISSUE-0002)
r47 guest truth (channel_info walk in the hung second client): every CE channel's GP_PUT/GP_GET GPU VAs are ring+0x2008c / ring+0x20088 and the live rank0 USERD is the layout block at fb 0x90000 (the emulation's offsets were right all along). The coherence gate required g <= p, but the GET word is GPU-owned and holds leftovers (session 2 rank0: PUT=1, GET=136 from the previous session) - so the live block was rejected forever (r44 strict never accepted; r42/r46 latched the stale registered candidate). Accept the CE layout block when the PUT word is plausible; the pump tracks ch->last_get and rewrites GP_GET as it consumes entries.
Diffstat (limited to 'kernel/Makefile.gsp_rpc')
0 files changed, 0 insertions, 0 deletions