diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-30 00:58:14 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-30 00:58:14 -0400 |
| commit | d149e9aeecc48af934fabd0d7906c6256b8ad23e (patch) | |
| tree | 6fa20535a32e02bdf27dc36efad22a63073ace4f | |
| parent | a66640d147fe2accbcbd1b188cfdd36279a6005a (diff) | |
| download | open-iov-d149e9aeecc48af934fabd0d7906c6256b8ad23e.tar.gz open-iov-d149e9aeecc48af934fabd0d7906c6256b8ad23e.zip | |
guest-diag: UVM API kretprobe installer (retval probes for the failure-instant trace)
| -rw-r--r-- | tools/guest-diag/kretprobes.sh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tools/guest-diag/kretprobes.sh b/tools/guest-diag/kretprobes.sh new file mode 100644 index 0000000..a5357db --- /dev/null +++ b/tools/guest-diag/kretprobes.sh @@ -0,0 +1,19 @@ +#!/bin/sh +# kretprobes.sh - return-value probes for the UVM API entry points, so the +# failing UVM operation names itself in the trace tail. +TR=/sys/kernel/tracing +[ -d "$TR" ] || TR=/sys/kernel/debug/tracing +cd "$TR" || exit 1 +echo 'r:uvreg uvm_api_register_channel $retval' >> kprobe_events 2>/dev/null +echo 'r:uvunr uvm_api_unregister_channel $retval' >> kprobe_events 2>/dev/null +echo 'r:uvpew uvm_push_end_and_wait $retval' >> kprobe_events 2>/dev/null +echo 'r:uvmcr uvm_channel_manager_create $retval' >> kprobe_events 2>/dev/null +echo 'r:uvgrt uvm_gpu_retain_by_uuid $retval' >> kprobe_events 2>/dev/null +echo 'r:uvtrk uvm_tracker_wait_for_entry $retval' >> kprobe_events 2>/dev/null +for e in uvreg uvunr uvpew uvmcr uvgrt uvtrk; do + echo 1 > events/kprobes/$e/enable 2>/dev/null +done +echo 0 > tracing_on +echo > trace +echo 1 > tracing_on +echo KRETPROBES_SET |
