summaryrefslogtreecommitdiffstats
path: root/tools/guest-diag
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-29 17:17:42 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-29 17:17:42 -0400
commitc903aac3e45a1634764389cd57b7d195b5c895b4 (patch)
tree5e12acba7ea89cf4a3510bfa209b8ad85b61ec15 /tools/guest-diag
parent1147d4f81da01397b52fd1087bf4453de056a0ee (diff)
downloadopen-iov-c903aac3e45a1634764389cd57b7d195b5c895b4.tar.gz
open-iov-c903aac3e45a1634764389cd57b7d195b5c895b4.zip
guest-diag: probe the tracker completion check and its result
uvsv/uvsvr capture (sem, value) and the boolean return of uvm_gpu_tracking_semaphore_is_value_completed, so a wait that fails despite an advanced payload is visible as a false return.
Diffstat (limited to 'tools/guest-diag')
-rw-r--r--tools/guest-diag/guest_kprobes.sh8
1 files changed, 7 insertions, 1 deletions
diff --git a/tools/guest-diag/guest_kprobes.sh b/tools/guest-diag/guest_kprobes.sh
index b8e18a4..3a7e2b4 100644
--- a/tools/guest-diag/guest_kprobes.sh
+++ b/tools/guest-diag/guest_kprobes.sh
@@ -59,7 +59,13 @@ add_probe uvpbf uvm_pushbuffer_create 'pb=%si'
# uvm_tracker_entry_t { uvm_channel_t *channel; NvU64 value; } - the exact
# (channel, value) the client's tracker wait is blocked on.
add_probe uvtw uvm_tracker_wait_for_entry 'chan=+0(%di):u64 value=+8(%di):u64'
+# Completion check: entry with (sem, value) and its boolean result tell
+# whether the client can see the release the host applied.
+add_probe uvsv uvm_gpu_tracking_semaphore_is_value_completed 'sem=%di value=%si'
+echo "-:kprobes/uvsvr" >> "$TR/kprobe_events" 2>/dev/null
+echo "-:uvsvr" >> "$TR/kprobe_events" 2>/dev/null
+echo 'r:uvsvr uvm_gpu_tracking_semaphore_is_value_completed $retval' >> "$TR/kprobe_events" 2>/dev/null
echo 1 > "$TR/events/kprobes/enable" 2>/dev/null || true
echo "--- installed probes ---"
-grep -E 'uvmt|uvch|uvbp|uvpbf|uvtw' "$TR/kprobe_events" 2>/dev/null || echo "(none)"
+grep -E 'uvmt|uvch|uvbp|uvpbf|uvtw|uvsv' "$TR/kprobe_events" 2>/dev/null || echo "(none)"