diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-28 17:09:51 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-28 17:09:51 -0400 |
| commit | 7dddb85c888c57b6b125ce0487d599500ea06769 (patch) | |
| tree | 22ee3e556a8cdc26893005586d29bf2d6d8b0710 /wiki/Migration-Protocol.md | |
| parent | b55f8d948878d24fd1b0f72de7ae294650cf27da (diff) | |
| download | open-iov-7dddb85c888c57b6b125ce0487d599500ea06769.tar.gz open-iov-7dddb85c888c57b6b125ce0487d599500ea06769.zip | |
sema: rescue by exact release group at any offset, with validated pin alignment
Kernel: the slot-aligned failing entries carry pushes whose release group
is not at the page's fixed +0x10 offset, so the shape matcher found
nothing. Scan every 4-byte offset for the exact group (hdr 0x20038090,
hi==1, lo&0xfff==slot, follower LAUNCH_DMA sem-release; payload may lag
the tracked expectation) with the header compared first. Each match
yields two candidate pin bases - the group's page and the page implied by
treating the group as the end of this entry's push - and each candidate
is validated by pinning and reading the entry VA back before it is
accepted. Live: 13 rescues pinned the MEMOPS slots; the 12700-byte push
then decoded to 29 op-runs with a real release, and memset=338 fills
(page-table clears) executed ~13 s before the client's rc=999.
Diffstat (limited to 'wiki/Migration-Protocol.md')
0 files changed, 0 insertions, 0 deletions
