summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-16 22:42:33 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-16 22:42:33 -0400
commit0c1a28193c4fcd75cb75bd4335f6db0b1c585b8b (patch)
treeac8772d3826e4236b0f1cddc74e8e3a6b842c41e /kernel
parent15776c037428f37dc6ca7660c9865b45cf71a198 (diff)
downloadopen-iov-0c1a28193c4fcd75cb75bd4335f6db0b1c585b8b.tar.gz
open-iov-0c1a28193c4fcd75cb75bd4335f6db0b1c585b8b.zip
vgsp: revert m170 per-arg stall persistence to aggregate semantics (benign 0-page junk candidates in fresh clients' launches stalled mail forever, r176); the per-arg fail-closed line stays as diagnostics
Diffstat (limited to 'kernel')
-rw-r--r--kernel/gsp_sema_service.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/kernel/gsp_sema_service.c b/kernel/gsp_sema_service.c
index 79faf61..0217594 100644
--- a/kernel/gsp_sema_service.c
+++ b/kernel/gsp_sema_service.c
@@ -13405,15 +13405,16 @@ static void svc_gr_data_fill(struct nv_vgpu_device *vgpu)
}
}
/*
- * m170 fix: never CLEAR the per-argument stall signal set above. The
- * original aggregate condition only held a launch when NO high
- * argument resolved at all; one resolved kernel operand masked every
- * unresolved one (r175: matmul cand[5]/[6] probe=none held fail-closed
- * per-arg, then this line reset the flag because cand[13]/[14] had
- * pins - the launch queued with two stale operands, bad=65536).
+ * m170 revert: the per-argument fail-closed signal is kept as
+ * DIAGNOSTIC only (the held fail-closed line above identifies the
+ * exact unresolved operand), but the launch-level stall keeps the
+ * historical aggregate semantics: a fresh client's launch stream
+ * carries BENIGN 0-page candidates (junk pointer words that never
+ * translate), and persisting the per-arg flag held mail's first
+ * launch forever (r176). Only a launch with NO resolvable high
+ * argument holds for the bounded m150 retry.
*/
- if (n_arg_hi > 0 && n_arg_hi_res == 0)
- svc_gr_data_stalled = true;
+ svc_gr_data_stalled = (n_arg_hi > 0 && n_arg_hi_res == 0);
if (svc_gr_data_stalled)
pr_info("vgsp-sema: svc-gr data fill: %u candidate ptrs, %u pages resolved; %u high argument ptr(s), %u resolved -> launch held for a bounded retry\n",
n_cand, svc_fwd_req.gr_n_data, n_arg_hi, n_arg_hi_res);