diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-30 04:41:06 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-30 04:41:06 -0400 |
| commit | b6500058b420dba35bf1e25a7308bf583a526bc8 (patch) | |
| tree | b3add624086562cfba7a4de71136d0f336030f55 /tools | |
| parent | 4649ee9c83584b2a59b2c72ce67a1f08d3240810 (diff) | |
| download | open-iov-b6500058b420dba35bf1e25a7308bf583a526bc8.tar.gz open-iov-b6500058b420dba35bf1e25a7308bf583a526bc8.zip | |
guest-diag: run_cycle SKIP_OPS knob + cdt output on serial; cdt richer roundtrip diagnostics
Diffstat (limited to 'tools')
| -rwxr-xr-x | tools/guest-diag/run_cycle.sh | 9 | ||||
| -rw-r--r-- | tools/test/cuda_drv_test.c | 11 |
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)); |
