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 | d37825435946a47e1f9b66aee8764aba5362b138 (patch) | |
| tree | 869ff0815e4a3524035af45a2c60650e297af77e /tools | |
| parent | ba730fbfc60cc0270539316f396d7efc42596660 (diff) | |
| download | open-iov-d37825435946a47e1f9b66aee8764aba5362b138.tar.gz open-iov-d37825435946a47e1f9b66aee8764aba5362b138.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')
| -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)" |
