diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-29 18:03:47 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-29 18:03:47 -0400 |
| commit | 7945ee1d7ba8daa10a03c259c1d1ac1d2aaf66f1 (patch) | |
| tree | 13886f1f86b9f9552735b5422553e9911c59981c | |
| parent | f863cf8846a17fc53b75b1235dd2c1804e8efd27 (diff) | |
| download | open-iov-7945ee1d7ba8daa10a03c259c1d1ac1d2aaf66f1.tar.gz open-iov-7945ee1d7ba8daa10a03c259c1d1ac1d2aaf66f1.zip | |
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
| -rw-r--r-- | STATE-CURRENT.md | 28 |
1 files 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 |
