summaryrefslogtreecommitdiffstats
path: root/kernel/main.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-29 12:30:57 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-29 12:30:57 -0400
commitce86b083311adb4d2f4fd907fd81d504898ff438 (patch)
treef6717da285bd0f087c54819b3febb0c1de374a76 /kernel/main.c
parent23a5d82a87e3b22617a3716cd7c27934fd787084 (diff)
downloadopen-iov-ce86b083311adb4d2f4fd907fd81d504898ff438.tar.gz
open-iov-ce86b083311adb4d2f4fd907fd81d504898ff438.zip
sema-svc: optional CE release fallback for unreadable pushes (sema_fake_rel)
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 0bd4826..726b4bf 100644
--- a/kernel/main.c
+++ b/kernel/main.c
@@ -2432,6 +2432,15 @@ module_param_named(sema_gr_rings, gsp_sema_gr_rings, bool, 0644);
MODULE_PARM_DESC(sema_gr_rings, "Auto-discover+pin GR channel rings (default 1)");
/*
+ * Acknowledge releases from unreadable CE pushes directly (tracking-semaphore
+ * fallback). The push's data writes are lost either way when the content
+ * rescue cannot find the page; writing the expected payload keeps the
+ * driver's progress waits from timing out on the rescue latency.
+ */
+module_param_named(sema_fake_rel, gsp_sema_fake_rel, bool, 0644);
+MODULE_PARM_DESC(sema_fake_rel, "Acknowledge unreadable CE releases directly (default 0)");
+
+/*
* Debug: inject a verified {GPU VA -> guest PA} translation into the
* semaphore service (used when the client's mapping cannot be discovered
* from guest structures):