summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_sema_service.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-30 05:58:38 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-30 05:58:38 -0400
commita9916e3ad37eb03ebe0d764729e4c9c51fda3fcc (patch)
treea3e78b601c1744b7850dd1f757fd4e9dfdb7dd41 /kernel/gsp_sema_service.h
parent4e4764e837309cc9730f288f544fd8c14ba90508 (diff)
downloadopen-iov-a9916e3ad37eb03ebe0d764729e4c9c51fda3fcc.tar.gz
open-iov-a9916e3ad37eb03ebe0d764729e4c9c51fda3fcc.zip
sema-svc: run CE work before its release, grace unreadable CE entries, payload-pattern audit
- CE LAUNCH_DMA releases are now applied after the push's collected work runs: the client reads copied data as soon as it observes the release, so release-first let cuMemcpyDtoH observe a copy that had not executed. - Unreadable CE entries stay pending for a grace window (sema_ce_grace_ms, default 8s) before the release fallback consumes them, so a translation that lands within a service pass lets the push be decoded and its work executed instead of being dropped. - sema_copy_pat matches an 8-byte value against every copy's src/dst first word and scans decoded pushes for it, naming the submission that carries a known payload regardless of size/encoding. - sema-dma-skip logs transfer-shaped launches that collect no op; op log lines carry the channel handle; LAUNCH_DMA inventory follows OPS_LOG. - A real release application now records the release VA, so decoded pushes no longer trigger a spurious fake release.
Diffstat (limited to 'kernel/gsp_sema_service.h')
-rw-r--r--kernel/gsp_sema_service.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/gsp_sema_service.h b/kernel/gsp_sema_service.h
index 1ffbb4a..234ec2f 100644
--- a/kernel/gsp_sema_service.h
+++ b/kernel/gsp_sema_service.h
@@ -97,6 +97,12 @@ extern unsigned gsp_sema_ops_log;
*/
extern unsigned gsp_sema_copy_watch;
+/* Data-path watch: 8-byte value matched in copy src/dst and push bytes. */
+extern u64 gsp_sema_copy_pat;
+
+/* CE pending-entry grace window in ms before the release fallback fires. */
+extern unsigned gsp_sema_ce_grace_ms;
+
/*
* Grace window (ms) an untranslatable GR GPFIFO entry is left pending before
* the pump consumes it as stale. The GR push pages are pinned from guest