summaryrefslogtreecommitdiffstats
path: root/kernel/main.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-29 15:41:01 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-29 15:41:01 -0400
commit5757095befda5982e90b3a3af78b57c339e9ab53 (patch)
tree0ca0061e029e87564e42692e482b0e54c0dc4813 /kernel/main.c
parentb7636afd9715748396325ec4dd0899c7f42ece17 (diff)
downloadopen-iov-5757095befda5982e90b3a3af78b57c339e9ab53.tar.gz
open-iov-5757095befda5982e90b3a3af78b57c339e9ab53.zip
sema-svc: sema_skip_ops parameter (apply releases without running pushed memsets)
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 952daf1..590d956 100644
--- a/kernel/main.c
+++ b/kernel/main.c
@@ -2441,6 +2441,15 @@ 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)");
/*
+ * Skip executing the pushed work (CE memsets/copies) while still applying the
+ * semaphore releases. The client only observes releases; skipping the shadow
+ * writes removes the per-push execution cost that dominates the context-init
+ * latency budget.
+ */
+module_param_named(sema_skip_ops, gsp_sema_skip_ops, bool, 0644);
+MODULE_PARM_DESC(sema_skip_ops, "Apply releases without executing pushed memsets (default 0)");
+
+/*
* Grace window (ms) an untranslatable GR entry stays pending before the pump
* consumes it as stale, so a late push-buffer pin can still make it readable.
*/