summaryrefslogtreecommitdiffstats
path: root/tools/cuda-ab/p2/src/p2_mixed.cu
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-08 00:01:54 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-08 00:01:54 -0400
commite2d2ee5bb35deca13f9fc24b04d35af3f4d898ce (patch)
tree6ce2ebdc516a468ccd7299ab2cccfe47de6ad057 /tools/cuda-ab/p2/src/p2_mixed.cu
parent744b21a84404b0aa987cd5fb67578e95704f4700 (diff)
downloadopen-iov-e2d2ee5bb35deca13f9fc24b04d35af3f4d898ce.tar.gz
open-iov-e2d2ee5bb35deca13f9fc24b04d35af3f4d898ce.zip
tools: arm UVM kprobes deterministically (modprobe+wait+verify) and retry pushbuffer pins
Root cause of the cudaMalloc/UVM-init stall on our bring-up path: guest_kprobes.sh ran while nvidia_uvm was not yet loaded (it loads lazily with the first CUDA client), so every probe add failed silently (symbols not in kallsyms) and the host never got the #sem -> pushbuffer-pin pipeline. The CE push page (0x120021db8) then never translated and the guest spun forever at DEVICE. - guest_kprobes.sh: modprobe nvidia_uvm, wait (bounded 30 s) for the uvmt symbol, install, and print KP_ARMED/KP_FAIL for bring-up checks. - semfix_watch.pin_pushbuffer: retry transient/partial gva2gpa misses in-call (bounded passes with a short sleep) instead of aborting on the first all-miss block; report unresolved page counts. Validated: 2/2 cold boots (vmkeep6/7) arm the probes and run victory_mail green in 15-20 s (MAIL + VADD bad=0 checksum=12204516 + STATUS OK, oracle-matched); pre-fix boots with unarmed probes stalled 4/4.
Diffstat (limited to 'tools/cuda-ab/p2/src/p2_mixed.cu')
0 files changed, 0 insertions, 0 deletions