diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-02 11:59:31 -0500 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-02 11:59:31 -0500 |
| commit | 32ec1ca305fe60da413cfe7262e2fbb4bc199a1d (patch) | |
| tree | 5354fda4b0a4425522135f0ebecc5b3b6edefed9 /wiki/open-iov.org/index.php/Special:WhatLinksHere/File:I915_Scheduling_Events_and_Requests.png.html | |
| parent | 33b708626562abb271b16fddaeffa984fc311d58 (diff) | |
| download | open-iov-32ec1ca305fe60da413cfe7262e2fbb4bc199a1d.tar.gz open-iov-32ec1ca305fe60da413cfe7262e2fbb4bc199a1d.zip | |
guest-diag: strict-anchor pagemap window fallback un-deadlocks the GL setup-push family
A strict demand anchor (the host's exact [entry_va,+len) read window, e.g.
the 60 216 B setup push) whose full-window content parse fails on every
candidate used to set strict_pending, and the pend_bases rule then skipped
every loose demand VA of the same GL family for as long as the anchor was
pending - the host demanded the push's pages individually, the guest
suppressed them, and the entry stayed unreadable for the whole generation
(r1396: entry 8 unreadable=1 on all generations while its sibling entries
read fine; generations churn every ~12 s, the content sweeps take longer).
Add _pagemap_window_pin(): on a failed strict resolve, pin the anchor
window's pages directly from the client's /proc/pid/pagemap (the r586
mechanism already proven for the non-family draws). The anchor VA is the
host's own GPFIFO entry VA, so a present client page is by definition its
translation; no content gate and no family learn, so no k/(area,adj) risk.
Partial presence heals on the ~2 s anchor resend. A 'strict-pagemap:' log
line reports present/total pages either way (0 present => kernel-resident,
the fallback cannot help).
SESSION 153 r1397; scan: r1397 offline brief Change 1.
Diffstat (limited to 'wiki/open-iov.org/index.php/Special:WhatLinksHere/File:I915_Scheduling_Events_and_Requests.png.html')
0 files changed, 0 insertions, 0 deletions
