summaryrefslogtreecommitdiffstats
path: root/docs/05-operations/01-performance-correctness-security.md
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-23 12:11:10 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-23 12:11:10 -0400
commit13f46e60760cc0855484cc69de913ea34f55c24f (patch)
treedf67eb2dfc5afd2c56845e514624a4842152a1f1 /docs/05-operations/01-performance-correctness-security.md
parent21b8ebc9db1d0ae649d6406087ea22b54e3b5775 (diff)
downloadopen-iov-13f46e60760cc0855484cc69de913ea34f55c24f.tar.gz
open-iov-13f46e60760cc0855484cc69de913ea34f55c24f.zip
docs: refresh status, supersede stale material, link the CUDA analysis
* Status now matches the live state: guest driver probe and nvidia-smi work; cuInit/device queries work; cuCtxCreate returns 999 because the emulated engine list is missing the async copy engine (COPY14). The userspace libcuda segfault is recorded as solved, with its mechanism (an RM allocation reply must echo request parameters; zeroing them corrupted the caller's saved frame pointer). * Correct the emulation claims: only a subset of RM controls are special-cased; the rest return a success reply with zeroed parameters whose consumed fields are still being corrected; allocation replies are coherent but no server-side object model exists. * Add the eight-point emulation checklist and reply-fidelity ladder as explicit gates, documented in userspace/cuda and linked from the architecture, implementation and operations docs. * Fix operational errors: build/test commands, module load order, mdev type names, LFS references, debugfs claims, in-repo firmware claims, CI claims, portability matrix (guest status, config layout, userspace driver facts). * Mark historical material: one superseded banner per legacy document with a pointer to its replacement; STATE.md marked as a 2026-09-21 snapshot. * Wiki: fix the index, add status banners and in-place factual corrections (msgq transport vs legacy mailbox, BAR definitions, error statuses, migration, glossary), and note the archived 2023 imports.
Diffstat (limited to 'docs/05-operations/01-performance-correctness-security.md')
-rw-r--r--docs/05-operations/01-performance-correctness-security.md21
1 files changed, 18 insertions, 3 deletions
diff --git a/docs/05-operations/01-performance-correctness-security.md b/docs/05-operations/01-performance-correctness-security.md
index c4d8153..0a27709 100644
--- a/docs/05-operations/01-performance-correctness-security.md
+++ b/docs/05-operations/01-performance-correctness-security.md
@@ -17,6 +17,19 @@ Rung 4 SUSTAINED workloads run for hours; faults/errors recoverable
Rung 5 MULTI-TENANT N VMs, isolation + fairness + no cross-talk
```
+**Current rung (2026-09-23):** Rung 1 is green; **Rung 2 is NOT green.**
+`cuInit`/`cuDeviceGet` succeed, but `cuCtxCreate` returns `rc=999`
+(`CUDA_ERROR_UNKNOWN`) because the emulated engine list lacks the async copy
+engine (`COPY14`); `cuMemAlloc` is not reached and teardown of the failed
+context still oopses in the guest kernel. Before Rung 3 is claimed, the
+**reply-fidelity gate** applies: a control whose reply fields the driver
+consumes is not implemented until the reply is coherent (status-only →
+coherent zeroed params → coherent values for consumed fields → exact values) —
+see
+[`../../userspace/cuda/docs/04-virtualization-and-emulation.md` §6](../../userspace/cuda/docs/04-virtualization-and-emulation.md).
+New to CUDA analysis here: start at
+[`../../userspace/cuda/READ-ME-FIRST.md`](../../userspace/cuda/READ-ME-FIRST.md).
+
## 2. Correctness
### 2.1 Test corpus
@@ -47,9 +60,11 @@ Rung 5 MULTI-TENANT N VMs, isolation + fairness + no cross-talk
### 2.3 Regression gates
-`make test` runs the host suite. The CI ladder runs the guest suite on a
-scheduled cadence and on every release. A rung regression is a release blocker;
-the handoff documents carry the current rung.
+`./scripts/stack_manager.sh test` runs the host suite (`make tests` only builds
+the test binaries). CI (`.github/workflows/ci.yml`) runs on push and pull
+requests only — there is currently no scheduled guest suite and no
+stock-driver contract test. A rung regression is a release blocker; the
+handoff documents carry the current rung.
## 3. Performance