diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-09 15:45:21 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-09 15:45:21 -0400 |
| commit | 0f3258e8b72e51ea5d2f171590938628160a84b6 (patch) | |
| tree | 81402380ae3325e7302fafa6947e21f69a212dcc /userspace/lib/libiov.pc.in | |
| parent | 523c0839a21a798ca7f92395cde71198d0cf030c (diff) | |
| download | open-iov-0f3258e8b72e51ea5d2f171590938628160a84b6.tar.gz open-iov-0f3258e8b72e51ea5d2f171590938628160a84b6.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 'userspace/lib/libiov.pc.in')
0 files changed, 0 insertions, 0 deletions
