summaryrefslogtreecommitdiffstats
path: root/kernel/main.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-18 06:17:50 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-18 06:19:43 -0400
commite99040b9ca2acc10a9d4b57fe45626331e203a7c (patch)
treeade669445a3df78f14f6fb8cbc72f3450742061c /kernel/main.c
parent992972e448015b676b1e887af1ce78a707b7f01f (diff)
downloadopen-iov-e99040b9ca2acc10a9d4b57fe45626331e203a7c.tar.gz
open-iov-e99040b9ca2acc10a9d4b57fe45626331e203a7c.zip
vgsp: GR fill hold - absolute deadline + expiry-proceed + dropped-page detail
Diffstat (limited to 'kernel/main.c')
-rw-r--r--kernel/main.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/kernel/main.c b/kernel/main.c
index 60bab26..ae9f262 100644
--- a/kernel/main.c
+++ b/kernel/main.c
@@ -2771,6 +2771,16 @@ module_param_named(sema_gr_grace_ms, gsp_sema_gr_grace_ms, uint, 0644);
MODULE_PARM_DESC(sema_gr_grace_ms, "GR pending-entry grace window in ms (default 8000)");
/*
+ * GRFIX FIX1b (r213): absolute per-launch bound in ms for the GR fill
+ * data-stalled hold (the FIX1 page-drop hold). The deadline is keyed by the
+ * launch push VA, fixed on the first hold and never re-armed; when it passes
+ * the launch proceeds (forwarded best-effort) so a never-resolving page can
+ * never block the guest. 0 keeps the 3000 ms default.
+ */
+module_param_named(gsp_phys_gr_hold_max_ms, gsp_phys_gr_hold_max_ms, uint, 0644);
+MODULE_PARM_DESC(gsp_phys_gr_hold_max_ms, "Absolute GR fill hold bound in ms, keyed by launch push VA (default 3000; launch proceeds when it passes)");
+
+/*
* F1-b: while a forwarded GR launch is in flight, defer (do not apply) a
* RAM-sweep release whose VA is that launch's QMD completion word, so the
* backend poll can only break on an engine-authored ack. Deferred releases