From 9333e84deed78464a7448c9faaf6841261a802d8 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Sat, 24 Oct 2026 02:23:42 -0400 Subject: vgsp-gr r595b: bound the stream-order guard to a settle window, then forward (never refuse) With r595 the relocation copies execute within 0.5-1.5 s, but the r590b watermark deferred through the shared 15 s cap; by then the r541/r583 dstpend guard took its fail-closed branch and refused a launch whose data was already on its way (r596 mail MAILDUMP zeros, 2 refusals). Track the settle start per push VA and defer only for gsp_phys_gr_cewm_settle_ms (default 2000). Each deferral is one pump pass and the pump drains the copy rings before the launching channel, so the window is enough for the r595 copies; after it the launch forwards with a witness. The guard can no longer reach any cap-refusal branch. --- kernel/main.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'kernel/main.c') diff --git a/kernel/main.c b/kernel/main.c index d821762..88dda02 100644 --- a/kernel/main.c +++ b/kernel/main.c @@ -2755,6 +2755,15 @@ MODULE_PARM_DESC(sema_copy_dst2, "Second destination window for sema_copy_dst (d module_param_named(sema_ce_grace_ms, gsp_sema_ce_grace_ms, uint, 0644); MODULE_PARM_DESC(sema_ce_grace_ms, "CE pending-entry grace window in ms (default 25000)"); +/* + * r595b: bounded stream-order settle for a GR launch whose device rings + * still hold unconsumed entries (0 disables the guard's deferral). + */ +module_param_named(gsp_phys_gr_cewm_settle_ms, gsp_phys_gr_cewm_settle_ms, + uint, 0644); +MODULE_PARM_DESC(gsp_phys_gr_cewm_settle_ms, + "GR launch stream-order settle window in ms (default 2000)"); + /* * Bounded work-before-release hold (ms) for an unreadable CE entry; the * deferred retry probe shows translations/pins land 0.5-2 s late. Absolute -- cgit v1.2.3