diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-08 19:24:27 -0500 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-08 19:24:27 -0500 |
| commit | f857b8726547b26f560b6cc08741de06746e5642 (patch) | |
| tree | 296350eba10ac387eac8044391a879d376f564c1 /wiki/open-iov.org/index.php/VGPU_Unlock.html | |
| parent | df332e75fc70f81430b146ccb23481f80b89e8d3 (diff) | |
| download | open-iov-f857b8726547b26f560b6cc08741de06746e5642.tar.gz open-iov-f857b8726547b26f560b6cc08741de06746e5642.zip | |
vgsp-sema: backfill a promoted pool semaphore page
r1640: UVM's channel-pool release was written to the boot-cache page
(pa=0x2600000) and 54 ms later a verified VAS walk promoted a different
page (pa=0x103ac0000, sysmem) to primary. The value was never carried
over, so the guest tracker polling the walk page read 0 and GZDoom spun
forever in uvm_channel_manager_create -> uvm_push_end_and_wait ->
uvm_spin_loop.
On every primary/secondary swap in svc_pool_boot_store(), max-merge the
old primary page into the new primary page (semaphore words are
forward-only monotonic counters; read both pages first, never write on
a read failure, never merge a page into itself) and log pool-merge.
Diffstat (limited to 'wiki/open-iov.org/index.php/VGPU_Unlock.html')
0 files changed, 0 insertions, 0 deletions
