summaryrefslogtreecommitdiffstats
path: root/tools/cuda-ab/run/wedge_ab
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-23 13:40:54 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-23 13:40:54 -0400
commit2baf54b7e2e4e02a93bc0312f6232e131a60bb34 (patch)
tree5309e547894b364fef82a5136318733be938f19b /tools/cuda-ab/run/wedge_ab
parentd45db82ea2656f536f08d4c80da406be81dea21f (diff)
downloadopen-iov-2baf54b7e2e4e02a93bc0312f6232e131a60bb34.tar.gz
open-iov-2baf54b7e2e4e02a93bc0312f6232e131a60bb34.zip
vgsp-sema r551: a delivered opdef release is not withheld again (kill the re-hold cycle)
r550 evidence (victory_strided, reused CE channel 0x5c000059, init sequence with ~40 device-aperture fills whose walk fails -ENOENT): the sweep delivered each entry's withheld counter release every ~3 s and cleared the slot, the pump re-decoded the still-parked entry, svc_opdef_release recorded a FRESH slot and held it again - SWEEP-EXPIRED repeated six times for the same entry (entries 41..43 at ~18-21 s each) before OPDEF-EXPIRED consumed it; the client span at 100% CPU for 12+ min and the battery timed out (r549's 3 s bound alone only shrank, did not remove, the cycle). Remember every delivered release by (channel, entry, va, payload) in a bounded 256-slot / 60 s ring: - svc_opdef_release: a re-decode of an already-delivered release claims it (rel_seen bookkeeping stays correct) and does NOT re-record or hold; - svc_opdef_hold: an entry with any recent delivery is consumed, never held again; - svc_opdef_flush / expire_sweep record what they deliver; - the ring is per-session (svc_session_flush), because handles, ring slots and payload sequences are reused by the next client. Releases are monotonic completion signals and every delivery path is forward-only, so re-applying one is a no-op - the change cannot double anything, it only removes the re-hold.
Diffstat (limited to 'tools/cuda-ab/run/wedge_ab')
0 files changed, 0 insertions, 0 deletions