diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/gsp_sema_service.c | 5 | ||||
| -rw-r--r-- | kernel/gsp_sema_service.h | 6 | ||||
| -rw-r--r-- | kernel/main.c | 8 |
3 files changed, 18 insertions, 1 deletions
diff --git a/kernel/gsp_sema_service.c b/kernel/gsp_sema_service.c index 5f69f40..6703403 100644 --- a/kernel/gsp_sema_service.c +++ b/kernel/gsp_sema_service.c @@ -2079,7 +2079,7 @@ static void svc_run_ops(struct nv_vgpu_device *vgpu, struct svc_memset_op *ops, svc.memsets_nomap++; else svc.memsets_fail++; - if ((rc == 0 && svc.memsets_done <= 8) || + if ((rc == 0 && svc.memsets_done <= gsp_sema_ops_log) || (rc != 0 && svc.memsets_fail + svc.memsets_nomap <= 8)) pr_info("sema-svc: %s dst=0x%llx value=0x%llx elem=%u count=%u bytes=%llu phys=%u ap=%u src=0x%llx srcphys=%u srcap=%u rc=%d\n", m->type == 1 ? "memcopy" : "memset", @@ -3682,6 +3682,9 @@ bool gsp_sema_fake_rel; */ bool gsp_sema_skip_ops; +/* Executed-op log cap (see header). */ +unsigned gsp_sema_ops_log = 8; + static unsigned long svc_gr_ring_tried; /* ranks that got a diagnostic line */ static void svc_gr_ring_autopin(struct nv_vgpu_device *vgpu, diff --git a/kernel/gsp_sema_service.h b/kernel/gsp_sema_service.h index 615d092..7af498e 100644 --- a/kernel/gsp_sema_service.h +++ b/kernel/gsp_sema_service.h @@ -84,6 +84,12 @@ extern bool gsp_sema_fake_rel; extern bool gsp_sema_skip_ops; /* + * How many executed CE ops to log with full operands (diagnostic bound; the + * default keeps a healthy run quiet, raise it to audit a data path). + */ +extern unsigned gsp_sema_ops_log; + +/* * 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 * truth a moment after the channels appear; the window lets those pins land diff --git a/kernel/main.c b/kernel/main.c index f427828..454f3b9 100644 --- a/kernel/main.c +++ b/kernel/main.c @@ -2450,6 +2450,14 @@ 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)"); /* + * Executed-op log cap: how many CE fills/copies are logged with full + * operands. Raise it (e.g. 4096) to audit a data path; the default keeps a + * run quiet. + */ +module_param_named(sema_ops_log, gsp_sema_ops_log, uint, 0644); +MODULE_PARM_DESC(sema_ops_log, "Max executed CE ops logged with operands (default 8)"); + +/* * 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. */ |
