summaryrefslogtreecommitdiffstats
path: root/tools/guest-diag
diff options
context:
space:
mode:
Diffstat (limited to 'tools/guest-diag')
-rw-r--r--tools/guest-diag/fenceword_assist.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/tools/guest-diag/fenceword_assist.py b/tools/guest-diag/fenceword_assist.py
index 3c45514..9e207e2 100644
--- a/tools/guest-diag/fenceword_assist.py
+++ b/tools/guest-diag/fenceword_assist.py
@@ -3,13 +3,25 @@
# fenceword_assist.py - keep the Vulkan fence wait word of a live vk_frame120
# client released (session 125).
#
+# SUPERSEDED (SESSION 126, commit 95e7f57e): the service now authors these
+# releases itself. The `sema_gr_ahead` fence fold sweeps the channel's
+# pre-built ring continuation beyond GP_PUT through the ring's validated
+# GPFIFO translation, decodes the INC-5 RELEASE groups it finds (addr 0x5c
+# count>=5) and queues them in the standard pending ledger; r717 evidence:
+# `sema-ahead: h=0xbeec0100 put=11 swept=10 rels=4` followed 30 ms later by
+# `sema-svc: deferred release va=0x45ba090 payload=1 (was cur=0)`, with
+# VKFRAME seq/DONE and NO assist running (see
+# backups/evidence-20261002-victory/r717-fencefold/). Keep this tool only as
+# the A/B fallback for boots that predate the fold (or with
+# sema_gr_ahead=0).
+#
# The client's fence wait polls a word in a 16 KB /dev/nvidiactl BO mapped
# read-write into the client: the init wait word lives at +0x80 (the t122
# "BW" chaser writes it once) and the per-submit fence word at +0x90 of the
# SAME BO (GPU VA <base>+0x90, delivered by the submit push's INC-5 semaphore
# group). While the emulation does not apply that group, this host assist
# writes 1 to the +0x90 slot whenever it reads 0 - the direct predecessor of
-# the service-side fold (see Handoff SESSION 125).
+# the service-side fold (see Handoff SESSION 125/126).
#
# Usage (host, while a t122-driven client runs):
# tools/guest-diag/fenceword_assist.py [seconds] [guest-pid]