From 7945ee1d7ba8daa10a03c259c1d1ac1d2aaf66f1 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Tue, 29 Sep 2026 18:03:47 -0400 Subject: STATE-CURRENT: UVM registration milestone; frontier moved past it - registration wait named and unblocked (first CE channel tracker, value 3; early push-buffer pinning) - frontier now the post-registration window (external allocation burst) - note the recovered guest wedge on the fastest-pin configuration --- STATE-CURRENT.md | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/STATE-CURRENT.md b/STATE-CURRENT.md index 584b232..7a83f54 100644 --- a/STATE-CURRENT.md +++ b/STATE-CURRENT.md @@ -1,6 +1,6 @@ # Open-IOV Current State -> **Snapshot: 2026-09-29 16:04.** This is a dated public status page, not live +> **Snapshot: 2026-09-29 17:59.** This is a dated public status page, not live > state; it is refreshed on every progress check. Live working notes are > maintained outside this repository; the public known-knowns/unknowns document > is authoritative here: @@ -56,15 +56,23 @@ chain succeeds. - **The copy-engine data path executes**: decoded method streams run in sustained fashion (memsets, copies, releases; thousands of push entries consumed), and compute-channel releases decode. -- **The tracking-semaphore wall is solved**: live captures show completed - counters ahead of queued before the client fails. The remaining frontier is - **phase timing**: the guest's context-initialization phase (a burst of - channel allocations and emulated round trips) consumes nearly all of its - own ~15-20 s budget, so the last channels' completions arrive late. Work is - focused on faster counter auto-registration and cheaper replies in the - allocation burst. -- Active work: fitting the whole initialization phase inside the client's - deadline, then the memory-allocation roundtrip. +- **Both counter walls are falling**: live raw dumps of the client's counter + page show all 20 compute-channel counter slots written at the correct + 16-byte stride (host releases now land exactly where the client polls), and + auto-registration walks the full channel rank range. +- **The registration wait is named and unblocked**: the ~16 s stall is a + single tracker wait (value 3) on the first copy-engine channel created + during UVM registration; pinning the copy-engine push buffer early (about a + second after it appears, instead of tens of seconds) is what lets + registration complete. +- **The frontier has moved past registration** to the ~1.6 s that follow it + (a burst of external-allocation operations and rollback) — that is the + failure now being captured with the stack sampler and ioctl trace. +- Active work: delivering the copy-engine push-buffer translation before the + client's first tracker wait, then diagnosing the post-registration failure. +- One guest-side wedge occurred on the fastest-pin configuration (enlarged + trace buffer); it recovered by VM restart and is being retried with adjusted + probe settings. The host stayed stable throughout. - Execution backend (chosen, not started): the module will own the physical GPU and run its real GSP firmware as the resource-manager server, so real work executes with an unmodified host driver and no host daemon; see -- cgit v1.2.3