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
commit3fae97a4422829930e52cb0839b7593006def7bf (patch)
tree109a96c013e29048241cc6fa2e60e83611b38b27 /kernel/main.c
parent23c3754ecb231cb7b57bf2f2a81f241a91b09189 (diff)
downloadopen-iov-3fae97a4422829930e52cb0839b7593006def7bf.tar.gz
open-iov-3fae97a4422829930e52cb0839b7593006def7bf.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):