<feed xmlns='http://www.w3.org/2005/Atom'>
<title>open-iov.git/tools/guest-diag/track_waits.sh, branch m32</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=m32</id>
<link rel='self' href='https://git.vgpu.io/open-iov.git/atom?h=m32'/>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/'/>
<updated>2026-09-29T22:01:12+00:00</updated>
<entry>
<title>guest-diag: single-read counter sampler (kills phantom 4-of-20 view); vmrestart reaps stale watchers</title>
<updated>2026-09-29T22:01:12+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-09-29T22:01:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=f863cf8846a17fc53b75b1235dd2c1804e8efd27'/>
<id>urn:sha1:f863cf8846a17fc53b75b1235dd2c1804e8efd27</id>
<content type='text'>
</content>
</entry>
<entry>
<title>guest-diag: non-blocking trace tail + 100ms scan loop + raw counter-page dump</title>
<updated>2026-09-29T20:51:57+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-09-29T20:51:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=80e2ec8d27a497f5424e47c3b3753d1982d79adb'/>
<id>urn:sha1:80e2ec8d27a497f5424e47c3b3753d1982d79adb</id>
<content type='text'>
- the trace tail (subprocess + 256KB read) ran inside the scan loop and
  blocked it for seconds exactly when the client's GR window appeared;
  moved to a background thread whose queue the loop drains.
- scan interval 250ms -&gt; 100ms.
- track_waits sampler also dumps 512 raw bytes at page+0xe00 each sample:
  the per-slot reads disagreed with the bulk dump within one sample
  because host writes land between the two, and the raw dump is the only
  trustworthy view of the slot layout.
</content>
</entry>
<entry>
<title>guest-diag: cheaper trace read, optional push sampler, bigger pagemap batches</title>
<updated>2026-09-29T18:47:17+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-09-29T18:47:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=fdeb1d4ba62283210dc259141da4da024bd1cc77'/>
<id>urn:sha1:fdeb1d4ba62283210dc259141da4da024bd1cc77</id>
<content type='text'>
Under load the semfix poll grepped the whole (growing) trace file and the
track_waits push block spawned three guest processes per sample, both of
which slowed the pin path into the client's failure window. The trace read
now tails 128 KB; track_waits.sh gates the push dump behind PUSH=0; the
pagemap helper reads 32 KB chunks.
</content>
</entry>
<entry>
<title>kernel: authoritative host-injected VA-&gt;PA pins (ipin table) + wider pin table</title>
<updated>2026-09-29T17:52:49+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-09-29T17:52:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=d6dde0ecac4f031ea27a27df7767cba54ac44f55'/>
<id>urn:sha1:d6dde0ecac4f031ea27a27df7767cba54ac44f55</id>
<content type='text'>
The CE push-buffer page 0x120000000 resolved to a zero-filled page even after
sema_map_add injected the correct translation: the shared pin table silently
dropped inserts once a hash cluster exceeded the 32-probe window (the page
hashes to slot 0, a hot cluster), and lookups fell through to the
content-scanned map and answered with a stale page - so every CE push read as
implausible and memset stayed 0. Injected translations now live in a separate
authoritative table checked before every other source and are never written by
self-discovery; the general pin table is 4x larger with a 4x probe window and
counts drops (pin_drop/ipin_drop) in the stats line. guest_kprobes.sh disables
the kprobe group before removal (EBUSY) and matches p:kprobes/&lt;name&gt;; the
guest wait sampler can run counters-only with GDB=0.
</content>
</entry>
<entry>
<title>sema-svc: async VA-&gt;PA injection queue; guest-diag: fast counter+pin injector, wait sampler</title>
<updated>2026-09-29T15:55:15+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-09-29T15:55:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=723e4886aefad5d3cd36873db0a01bdc332b18b4'/>
<id>urn:sha1:723e4886aefad5d3cd36873db0a01bdc332b18b4</id>
<content type='text'>
</content>
</entry>
</feed>
