diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-23 00:08:59 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-23 00:08:59 -0400 |
| commit | 76ae033bb6f07a165736d653c7a7e068c4417551 (patch) | |
| tree | fbc4304f140bc6dba23ac8750076f0150ca66f3c /wiki/open-iov.org/load.php?lang=en&modules=ext.visualEditor.desktopArticleTarget.noscript|skins.vector.styles.legacy&only=styles&skin=vector.css | |
| parent | 78a4db29e527a59dbff3ad6857440d64208dfba1 (diff) | |
| download | open-iov-76ae033bb6f07a165736d653c7a7e068c4417551.tar.gz open-iov-76ae033bb6f07a165736d653c7a7e068c4417551.zip | |
r509 the GR data-hold bound can report expiry: one-shot verdict + latch, and the r351 retry-forward consumes it
svc_gr_hold_bound_expired() re-armed the deadline on the very call that
detected expiry and then compared jiffies against the NEW deadline - the
function could never return true. A data-stalled launch whose arguments
never resolve therefore held its entry forever (r508 witness: matmul plus
ten sibling channels in 'GR hold ... data args unresolved' with zero
GR-STALL-hold-bound lines for 10+ minutes; the designed one retry-forward
plus consume never ran). The expiry is now one-shot: push the deadline,
latch gr_hold_bound_hit (snapshot-persisted) for the second call site of
the same pass, return true; the r351 retry-forward block consumes the
latch and forces its single best-effort forward, and the NEXT expiry cycle
(gr_hold_exp_logged now set) falls through to the historical consume with
the software completion - a never-resolving launch now costs ~6 s and the
client sees a stale-data FAIL instead of a hang.
Diffstat (limited to 'wiki/open-iov.org/load.php?lang=en&modules=ext.visualEditor.desktopArticleTarget.noscript|skins.vector.styles.legacy&only=styles&skin=vector.css')
0 files changed, 0 insertions, 0 deletions
