summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-21 19:53:12 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-21 19:53:12 -0400
commit0630028527ae401e15a99cf1145829e9725a13ad (patch)
treec4708d073d0c0cefb15ec5f2976e1a26276f0545 /scripts
parent9b44eb71ca2392606b74a15f7f330482be3e826a (diff)
downloadopen-iov-0630028527ae401e15a99cf1145829e9725a13ad.tar.gz
open-iov-0630028527ae401e15a99cf1145829e9725a13ad.zip
kernel: msgq writePtr wrap semantics + retry backoff + CE fault buffer size
CRITICAL protocol fix (msgq.c): writePtr/readPtr are slot indices that WRAP at msgCount ('writePtr += n; if (>= msgCount) -= msgCount'), NOT monotonic counters. '62 -> 0' is a legitimate wrap, not queue death. - gsp_rm_poll_commands: consume while (cmd_read != writePtr), advance cmd_read = (cmd_read + elem_count) % msgcount. Death detection now only: writePtr >= msgCount (garbage header) / bad element signature / insane elemCount. Removes false deaths on healthy wraps that killed the emulator mid-session (fn 10 FREE timeouts). - gsp_rm_send: published status writePtr now wraps too (driver's free-space/slot math breaks on unbounded values >= 2*msgCount). - gsp_rm_emu_poll: back off on_booter_done retries to 250ms (was every 100us poll -> thousands of 'will retry' lines/sec, dmesg unusable); retry log now pr_warn_ratelimited. - CE_GET_FAULT_METHOD_BUFFER_SIZE(0x20802a08) = 12288 (GV100 formula inherited by Turing: 135*(13*5+2) page-aligned, 5 PCEs). Zero reply failed fault method buffer allocation (NV_ERR_NO_MEMORY) killing channel-group creation.
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions