From d149e9aeecc48af934fabd0d7906c6256b8ad23e Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Wed, 30 Sep 2026 00:58:14 -0400 Subject: guest-diag: UVM API kretprobe installer (retval probes for the failure-instant trace) --- tools/guest-diag/kretprobes.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 tools/guest-diag/kretprobes.sh (limited to 'tools/guest-diag') 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 -- cgit v1.2.3