diff options
| -rw-r--r-- | kernel/gsp_sema_service.c | 17 |
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); |
