diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-24 04:17:32 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-24 04:17:32 -0400 |
| commit | e9f5cfb561f7dc94b610e3130dfee9f3325d7d6d (patch) | |
| tree | 8030cc1ee918eddb19bceec9f0f3c10b6465cba8 /kernel/main.c | |
| parent | e7101aae4639909996a826653e0bab089747ffa1 (diff) | |
| download | open-iov-e9f5cfb561f7dc94b610e3130dfee9f3325d7d6d.tar.gz open-iov-e9f5cfb561f7dc94b610e3130dfee9f3325d7d6d.zip | |
vgsp-gr r598 diag: peek the ring slots past GP_PUT at the launch decision
The r568 lever is the driver's ring WRITE pointer, not the GPFIFO put:
the b copy entry exists in the ring before the client publishes GP_PUT.
Add a bounded diagnostic (gsp_phys_gr_peek) that, when a channel reads
as drained, dumps up to four slots past last_get with {va,len} and
whether the slot already executed that exact entry - so the next fix can
be grounded in what is actually written ahead of the put.
Diffstat (limited to 'kernel/main.c')
| -rw-r--r-- | kernel/main.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/main.c b/kernel/main.c index d821762..81bae08 100644 --- a/kernel/main.c +++ b/kernel/main.c @@ -2752,6 +2752,10 @@ MODULE_PARM_DESC(sema_copy_dst2, "Second destination window for sema_copy_dst (d * the release the client synchronizes on; the translation usually lands within * a service pass. */ +module_param_named(gsp_phys_gr_peek, gsp_phys_gr_peek, uint, 0644); +MODULE_PARM_DESC(gsp_phys_gr_peek, + "Peek the ring slots past GP_PUT at each GR launch decision (diagnostic, default 0)"); + module_param_named(sema_ce_grace_ms, gsp_sema_ce_grace_ms, uint, 0644); MODULE_PARM_DESC(sema_ce_grace_ms, "CE pending-entry grace window in ms (default 25000)"); |
