summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-30 04:41:06 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-30 04:41:06 -0400
commit8bdad7a95d6e6017da4bf6c8ca50e68c4fbcffad (patch)
tree410fbf799d1ea66a5ea8ffdc28fbc9dac2f989ba /tools
parente4c3f8554d70dcf22567621528a4601d7444666b (diff)
downloadopen-iov-8bdad7a95d6e6017da4bf6c8ca50e68c4fbcffad.tar.gz
open-iov-8bdad7a95d6e6017da4bf6c8ca50e68c4fbcffad.zip
guest-diag: run_cycle SKIP_OPS knob + cdt output on serial; cdt richer roundtrip diagnostics
Diffstat (limited to 'tools')
-rwxr-xr-xtools/guest-diag/run_cycle.sh9
-rw-r--r--tools/test/cuda_drv_test.c11
2 files changed, 14 insertions, 6 deletions
diff --git a/tools/guest-diag/run_cycle.sh b/tools/guest-diag/run_cycle.sh
index b97928e..6ba0796 100755
--- a/tools/guest-diag/run_cycle.sh
+++ b/tools/guest-diag/run_cycle.sh
@@ -28,8 +28,9 @@ for i in $(seq 1 24); do
sleep 5
done
-echo "[*] setting module params"
-sudo sh -c 'echo Y > /sys/module/open_iov_vfio/parameters/sema_fake_rel; echo Y > /sys/module/open_iov_vfio/parameters/sema_skip_ops'
+echo "[*] setting module params (SKIP_OPS=${SKIP_OPS:-Y})"
+SKIP_OPS="${SKIP_OPS:-Y}"
+sudo sh -c "echo Y > /sys/module/open_iov_vfio/parameters/sema_fake_rel; echo $SKIP_OPS > /sys/module/open_iov_vfio/parameters/sema_skip_ops"
echo "[*] pushing guest tools"
timeout 300 "$HERE/push_guest_tools.sh" >/dev/null 2>&1 || { echo "push failed"; exit 1; }
@@ -56,7 +57,7 @@ sleep 2
echo "[*] launching cdt (HOLD=$HOLD, $TRACE)"
if [ "$TRACE" = "strace" ]; then
timeout 30 "$VMEXEC" exec \
- "rm -f /tmp/cdt.out /tmp/strace.log; CDT_HOLD=$HOLD nohup strace -f -tt -e trace=ioctl -o /tmp/strace.log /tmp/cdt >/tmp/cdt.out 2>&1 & echo STARTED" \
+ "rm -f /tmp/cdt.out /tmp/strace.log; echo '=== CDT RUN START (strace) ===' > /dev/ttyS0; CDT_HOLD=$HOLD nohup sh -c 'strace -f -tt -e trace=ioctl -o /tmp/strace.log /tmp/cdt 2>&1 | tee /tmp/cdt.out | stdbuf -oL tee /dev/ttyS0 >/dev/null' >/dev/null 2>&1 & echo STARTED" \
>/dev/null 2>&1
elif [ "$TRACE" = "gdb" ]; then
timeout 30 "$VMEXEC" exec "rm -f /tmp/cdt.out /tmp/bpwait.out; sync; echo CLEARED" >/dev/null 2>&1
@@ -101,7 +102,7 @@ elif [ "$TRACE" = "gdb-launch" ]; then
echo " launched under gdb; cdt pid=${PID:-?} script=${GDBSCRIPT:-bp999v2.py}"
else
timeout 30 "$VMEXEC" exec \
- "rm -f /tmp/cdt.out; CDT_HOLD=$HOLD nohup /tmp/cdt >/tmp/cdt.out 2>&1 & echo STARTED" \
+ "rm -f /tmp/cdt.out; echo '=== CDT RUN START (plain) ===' > /dev/ttyS0; CDT_HOLD=$HOLD nohup sh -c '/tmp/cdt 2>&1 | tee /tmp/cdt.out | stdbuf -oL tee /dev/ttyS0 >/dev/null' >/dev/null 2>&1 & echo STARTED" \
>/dev/null 2>&1
fi
diff --git a/tools/test/cuda_drv_test.c b/tools/test/cuda_drv_test.c
index f3ee02f..ba8c20c 100644
--- a/tools/test/cuda_drv_test.c
+++ b/tools/test/cuda_drv_test.c
@@ -120,8 +120,15 @@ int main(void)
memset(back, 0, sizeof(back));
MARK("cuMemcpyDtoH");
CHECK(cuMemcpyDtoH(back, dptr, sizeof(buf)));
- printf("roundtrip %s (back[7]=%u expected 22)\n",
- memcmp(buf, back, sizeof(buf)) ? "MISMATCH" : "match", back[7]);
+ {
+ size_t matched = 0;
+ for (i = 0; i < 64; i++)
+ if (buf[i] == back[i]) matched++;
+ printf("roundtrip %s matched=%zu/64 back[0..7]=%u,%u,%u,%u,%u,%u,%u,%u expected 1,4,7,10,13,16,19,22\n",
+ matched == 64 ? "match" : "MISMATCH", matched,
+ back[0], back[1], back[2], back[3],
+ back[4], back[5], back[6], back[7]);
+ }
MARK("cuMemFree");
CHECK(cuMemFree(dptr));