diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-21 03:01:47 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-21 03:01:47 -0400 |
| commit | 7a1f48057fe3bd96d26d9ae3f85263ffdd93d374 (patch) | |
| tree | 328cbeb297c5df50ed33d872b4a060955a271019 /wiki/open-iov.org/api.php?action=rsd | |
| parent | 7d4919dd3177f75e14b812c59e4de3b1c5912308 (diff) | |
| download | open-iov-7a1f48057fe3bd96d26d9ae3f85263ffdd93d374.tar.gz open-iov-7a1f48057fe3bd96d26d9ae3f85263ffdd93d374.zip | |
sema: r402 pitched (2D) fills/copies + copy-dst divergence witness
Two additions for the memset2d/memcpy_roundtrip and readback classes:
1. Pitched transfers. The CE decoder now captures LINE_COUNT (0x41c),
PITCH_IN (0x410) and PITCH_OUT (0x414); a fill/copy whose LINE_COUNT is
> 1 and whose destination pitch exceeds the row length builds a row-wise
op (svc_fill/svc_copy are thin wrappers around the existing 1D bodies,
advancing dst by dpitch and src by spitch per row). Each row keeps the
whole per-page resolution/ledger/guard machinery, and a failed row's
retry re-runs already-written rows with the same pattern (idempotent).
A flat transfer carries pitch == row length (or no pitch method) and
keeps the historical single-run path unchanged. Bounded 'sema-2d' row
names every 2D op build.
Note: the current victory_memset2d traffic reaches the engine as GR
kernels plus per-row 4 KB CE copies, so this capability does not yet
trigger for that client - it is the correct decoder for the CE-class 2D
shape (driver channel_utils.c memset2d emits LINE_COUNT/PITCH).
2. DST-DIVERGE witness: when a copy destination resolves from the write
ledger, a read-only resolver probe cross-checks the answer and logs
(bounded, gsp_sema_dbg) when the writer's page differs from the live
resolver's - the 'writer follows the ledger while the reader holds
another page' shape behind the failed D2H staging class (streams2 c1
zeros, smiley pass failures). Zero rows fired on r403, so the ledger is
not the active divergence for that boot; the witness stays for the next
failing capture.
Diffstat (limited to 'wiki/open-iov.org/api.php?action=rsd')
0 files changed, 0 insertions, 0 deletions
