summaryrefslogtreecommitdiffstats
path: root/kernel/main.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-24 02:23:42 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-24 02:23:42 -0400
commit9333e84deed78464a7448c9faaf6841261a802d8 (patch)
treeb0290673250e30c428d0de5f16055c8468ec1465 /kernel/main.c
parent668c22768abce559ab756f2f998260e08044a3d1 (diff)
downloadopen-iov-9333e84deed78464a7448c9faaf6841261a802d8.tar.gz
open-iov-9333e84deed78464a7448c9faaf6841261a802d8.zip
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.
Diffstat (limited to 'kernel/main.c')
-rw-r--r--kernel/main.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/kernel/main.c b/kernel/main.c
index d821762..88dda02 100644
--- a/kernel/main.c
+++ b/kernel/main.c
@@ -2756,6 +2756,15 @@ 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
* per-entry deadline, never reset; 0 disables.