From d37825435946a47e1f9b66aee8764aba5362b138 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Tue, 29 Sep 2026 17:02:05 -0400 Subject: guest-diag: probe uvm_tracker_wait_for_entry for the exact (channel, value) wait The failing wait is uvm_tracker_wait_for_entry inside channel_pool_add (UVM_GPU_REGISTER): capture the tracker entry's channel pointer and value so the host can tell which release value is still missing. --- tools/guest-diag/guest_kprobes.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/guest-diag/guest_kprobes.sh b/tools/guest-diag/guest_kprobes.sh index 0afe6c6..b8e18a4 100644 --- a/tools/guest-diag/guest_kprobes.sh +++ b/tools/guest-diag/guest_kprobes.sh @@ -56,7 +56,10 @@ add_probe uvmt uvm_gpu_tracking_semaphore_update_completed_value 'sem=%di val=+1 add_probe uvch __uvm_push_begin_acquire_on_channel_with_info 'ch=%di' add_probe uvbp uvm_pushbuffer_begin_push 'pb=%di' 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' echo 1 > "$TR/events/kprobes/enable" 2>/dev/null || true echo "--- installed probes ---" -grep -E 'uvmt|uvch|uvbp|uvpbf' "$TR/kprobe_events" 2>/dev/null || echo "(none)" +grep -E 'uvmt|uvch|uvbp|uvpbf|uvtw' "$TR/kprobe_events" 2>/dev/null || echo "(none)" -- cgit v1.2.3