<feed xmlns='http://www.w3.org/2005/Atom'>
<title>open-iov.git/tools, branch stallfree</title>
<subtitle>Open-IOV vGPU-IO: host-side GSP emulation for unmodified NVIDIA guest drivers
</subtitle>
<id>https://git.vgpu.io/open-iov.git/atom?h=stallfree</id>
<link rel='self' href='https://git.vgpu.io/open-iov.git/atom?h=stallfree'/>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/'/>
<updated>2026-10-18T04:56:45+00:00</updated>
<entry>
<title>tools: prompt re-assert after recv chunks, heartbeat inside long QMP loops, novel-only activity accounting (tools-fix a4840952)</title>
<updated>2026-10-18T04:56:45+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-18T04:56:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=23e38b1235071c784c453ed947a615fd2cc1bfbd'/>
<id>urn:sha1:23e38b1235071c784c453ed947a615fd2cc1bfbd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tools: kill-cascade purge + stall watchdogs + monotonic client identity (tools-fix c8fb5377)</title>
<updated>2026-10-18T04:26:02+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-18T04:26:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=ff11994cbc1cce45e5ce721c69c7957436031877'/>
<id>urn:sha1:ff11994cbc1cce45e5ce721c69c7957436031877</id>
<content type='text'>
Dead-pid purge via in-band #nopid (zombie-aware probe), monotonic
(pid,starttime) client identity so trace-ring replays can never reset an
active client (fixes the m178 mid-run reset regression avenue), pre-capture
and post-capture stall watchdogs that re-assert pins and escalate loudly,
heartbeat threads for both tools, supervisor STALE 75s/GRACE 120s.
</content>
</entry>
<entry>
<title>tools: revert m178 latching changes (client-#3 hang regression); kernel m178 stays</title>
<updated>2026-10-18T00:35:21+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-18T00:35:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=b16269daec0ca5838b8343e9b5f4cabd23015167'/>
<id>urn:sha1:b16269daec0ca5838b8343e9b5f4cabd23015167</id>
<content type='text'>
The m178 tool latching changes caused a reproducible pre-capture hang of the
third CUDA client after two green clients (r199: smiley #3; r200: multikernel
#3; both recovered by reverting tools only, r201). Prime suspect: semfix
per-client reset re-firing mid-run (same pid reset twice 2 min apart while the
client was active). Tools restored to the m177-proven state until the reset
logic is fixed with a monotonic per-pid guard.
</content>
</entry>
<entry>
<title>vgsp: m178 GR launch reliability + diagnostics; tools: pin latching robustness</title>
<updated>2026-10-17T23:18:50+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-17T23:18:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=33de4c9bc524ac27582fde5911ad32d89d0a7de9'/>
<id>urn:sha1:33de4c9bc524ac27582fde5911ad32d89d0a7de9</id>
<content type='text'>
Kernel: authorship instrumentation + swrel gate for in-flight GR release VAs;
first-poll shortening + fast extended re-arm (params gr_retry_fast=1,
gr_first_poll_ms=2500); per-attempt win0 bank recompute + shadow recopy in the
outcome-retry loop; poll-break/deposit-readback diagnostics; C1-C10 sema
diagnostics (crel-entry, relx, opdef-clear, walk, pub-adv, hold-fallback,
busy-defer, CAND-OVERWRITE, inline recs); busy-defer hold instead of
software-release consume; counter fast path; QMD word 48/49 skip.
Tools: heartbeat thread, scanner-alive probe on reinstall, full periodic
re-assert, #nopid handling, per-client reset fix (debounce), dead-pid drop,
supervisor grace+threshold.
</content>
</entry>
<entry>
<title>vgsp: m177 pin-free self-sufficiency wave + tool hardening</title>
<updated>2026-10-17T21:51:19+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-17T21:51:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=78ac3864039e066354181cb6b53c92e96d86ff3e'/>
<id>urn:sha1:78ac3864039e066354181cb6b53c92e96d86ff3e</id>
<content type='text'>
(1) svc_session_flush keeps svc.direct_base (per-boot constant; the pin-free
    targeted scanner's gate/input) and a new gsp_sema_service_guest_reset()
    hook wipes boot-scoped discovery state on guest RM reload;
(2) counter-page derive now takes the first READABLE source (vaspaces -&gt;
    discovered -&gt; targeted) instead of failing -EIO on a walked-but-garbage
    page, with one-shot diagnostics;
(3) new m177c UVM ring-space directory discovery: content-verified
    (push_va -&gt; push_pa) samples from the GR content discovery and CE push
    pairing feed a second discovered-directory slot (walks the 0x2xxxxxxx
    family), consulted by svc_walk_discovered;
(4) GR channels now deliver withheld opdef sets at entry consume (normal
    tail and the stale-skip path) instead of waiting for the 10 s sweep;
(5) host tools hardened: semfix_uvmt QMP reconnect + pid-generation dedupe
    + stale-sem eviction + post-success pin latch + heartbeats; pin_gr_stream
    accept timeout + guest-scanner reinstall backoff + restart loop +
    subprocess timeouts; new pin_supervisor.sh (heartbeat watchdog, capped
    restarts) wired into start_vm_keep.sh.
Evidence: r194-r196 cycles; pool resolves src=trusted pin-free; ring dir
0x10801c000 found 4/4; row: 'rel-apply ... written' with tools up.
</content>
</entry>
<entry>
<title>vgsp: m168 revert to session scope - the pool page is per-CLIENT (conflict line r171: cached=0x1247b5000 new=0x1321fa000); a cross-session cache served the previous client's dead page and silently absorbed releases. scanner: pool demand resolves against every known tracker sem (seen + resolved chains)</title>
<updated>2026-10-17T01:43:06+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-17T01:43:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=6f445664a1c94b3a00b9cf8a5d5572979610642a'/>
<id>urn:sha1:6f445664a1c94b3a00b9cf8a5d5572979610642a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>vgsp: m163 lost-H2D copy integrity (drain injected pins before CE op resolution; hold failed device-copy ops) + m164 CLASS-2 GR no-capture entry hold + m165 pool release applies at fresh-pin time + m166 timeout-ladder warm-sem fail-fast; scanner: first-class pool VA resolution + periodic re-assert + demand routing</title>
<updated>2026-10-17T00:54:49+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-17T00:54:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=b90ced5aa52d202e678918093d1bb497ec1efd2b'/>
<id>urn:sha1:b90ced5aa52d202e678918093d1bb497ec1efd2b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>guest-diag: demand-pin content resolver searches +/-16 pages and learns the winning per-area offset (multi-MB CE staging pushes never resolved at +/-1)</title>
<updated>2026-10-16T22:21:27+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-16T22:21:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=776d6c5281b6b1a293746fb975c26607d62c5d0e'/>
<id>urn:sha1:776d6c5281b6b1a293746fb975c26607d62c5d0e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>guest-diag: semfix trace reads are remotely timed and SSH-preferred (stuck QGA tails stopped pool/tracker pins and cascaded every client after ~5 to a DEVICE freeze)</title>
<updated>2026-10-16T21:38:21+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-16T21:38:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=159aa45c87efcc5634407d3ca766d88bd796cbfe'/>
<id>urn:sha1:159aa45c87efcc5634407d3ca766d88bd796cbfe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>guest-diag: fix CE-window demand-pin offset mask (&amp; 0xFFFFF folded every 1 MB rank to offset 0)</title>
<updated>2026-10-16T18:56:36+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-16T18:56:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=7d123630eac15b1dc50b67d85cdc859331ee9ffa'/>
<id>urn:sha1:7d123630eac15b1dc50b67d85cdc859331ee9ffa</id>
<content type='text'>
Demand pins for 0x120700000/0x120800000/0x120a00000 all resolved to page 0 of
the first nv_vm_map_pages area (the same wrong PA), so the host read garbage
for every rank but the first and repeat clients stalled at DEVICE. Use the
full 16 MB window offset (&amp; 0xFFFFFF); the per-area page bound rejects areas
too small. Live: r161 ran victory_mail green as clients 1 AND 2 in one boot,
then matmul and smiley - the repeat-client stall class is gone for these.
</content>
</entry>
</feed>
