summaryrefslogtreecommitdiffstats
path: root/tools/cuda-ab/vector_add.cu
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-20 05:34:52 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-20 05:34:52 -0400
commit720d3f5fa8b8bdbb947826927ae907cfc7d0ed56 (patch)
tree99d3fa39c156291089e496a5a58d1ad0aa20298e /tools/cuda-ab/vector_add.cu
parentae534205925529fc06e0539218f0ddf9fe5f835a (diff)
downloadopen-iov-720d3f5fa8b8bdbb947826927ae907cfc7d0ed56.tar.gz
open-iov-720d3f5fa8b8bdbb947826927ae907cfc7d0ed56.zip
vgsp: pin-backed translation wins the write-side ledger divergence (r336)
The m180 unification redirected a divergent write to the ledger's page (where an earlier write landed) even when the current translation was pin-backed (guest pagemap truth, op_tr_src == 1). When the guest remaps/reuses a VA (free + reallocate, or migration), the ledger page is freed and can be reallocated by the guest kernel: the redirected write then smears client copy data over kernel memory. Observed on the r335 vector_add run: an RM map/AVL node's pointer field held client c-data (floats 551.25/552.0), the free-path traversal faulted (mapFindLEQ_IMPL/_mapInsertBase), and the guest panicked (Attempted to kill init). 4448 write-side divergences in that run. Now a pin-backed translation wins: the write goes to the fresh page and the ledger store after the write re-homes the entry, so readers converge on the same page. Non-pin translations (2..5) keep the m180 redirect - they can carry stale PTEs (m169) and the write history stays the authority there. New counter sema-svc ledger pinwins.
Diffstat (limited to 'tools/cuda-ab/vector_add.cu')
0 files changed, 0 insertions, 0 deletions