diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-29 14:38:44 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-29 14:38:44 -0400 |
| commit | 9db2c19f4e5d1a52dc500a199ed6dfa78f35ff0a (patch) | |
| tree | 90422631f7825c935490e93c1298ac54f5b91102 /tools/guest_init_monitor.py | |
| parent | be46061c66690752bf03aaaf4d72e4fa2b5f418d (diff) | |
| download | open-iov-9db2c19f4e5d1a52dc500a199ed6dfa78f35ff0a.tar.gz open-iov-9db2c19f4e5d1a52dc500a199ed6dfa78f35ff0a.zip | |
tools: pin GR push-buffer window from guest pagemap per boot; widen injected-pin table
The GR channel GPFIFO entries point at pushes in the client GPU VA window
(observed 0x200400000 + stride, one allocation per channel) and the pump
cannot read them: pushes_nomap grows and the tracking-semaphore releases
they carry never land. The pushes are sysmem pages mapped into the client
process, so /proc/<pid>/pagemap in the guest gives the GPA.
New guest helper guest_pmap_win.py batch-reads the pagemap of a VA range
(512 entries per pread). New host tool pin_gr_window.py rescans the window
on an interval, follows cdt pid changes, and injects VA->PA runs through
sema_map_add (same mechanism as the counters and the CE pushbuffer pins).
The injected-pin table grows 8k -> 32k slots so the CE pushbuffer (4096)
plus the GR window pages fit without drops.
Diffstat (limited to 'tools/guest_init_monitor.py')
0 files changed, 0 insertions, 0 deletions
