diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-29 17:02:05 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-29 17:02:05 -0400 |
| commit | 3816f1047ed003535f8015ec740e402957d764d5 (patch) | |
| tree | 41e8b09390919ae38adf563cae3d5d3b32e16c8f /tools/guest-diag | |
| parent | 50da0edc952f5ad93dcbd33a3e5cb974d2411d45 (diff) | |
| download | open-iov-3816f1047ed003535f8015ec740e402957d764d5.tar.gz open-iov-3816f1047ed003535f8015ec740e402957d764d5.zip | |
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.
Diffstat (limited to 'tools/guest-diag')
| -rw-r--r-- | tools/guest-diag/guest_kprobes.sh | 5 |
1 files changed, 4 insertions, 1 deletions
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)" |
