[PATCH i-g-t v3 02/10] tests/intel/xe_drm_fdinfo: Print timestamp for debug
Lucas De Marchi
lucas.demarchi at intel.com
Tue Aug 27 16:54:41 UTC 2024
xe_spin is capable of writing the timestamp from the GPU side. This is a
good way to compare what we are reading from the fdinfo with what the
GPU is seeing. Example output:
(xe_drm_fdinfo:10404) DEBUG: rcs: spinner ended (timestamp=9817720)
(xe_drm_fdinfo:10404) DEBUG: bcs: spinner ended (timestamp=9755785)
(xe_drm_fdinfo:10404) DEBUG: vecs: spinner ended (timestamp=9653024)
(xe_drm_fdinfo:10404) DEBUG: ccs: spinner ended (timestamp=9722776)
(xe_drm_fdinfo:10404) DEBUG: rcs: sample 1: cycles 19513436, total_cycles 130596422980
(xe_drm_fdinfo:10404) DEBUG: rcs: sample 2: cycles 29331470, total_cycles 130606141449
Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
---
tests/intel/xe_drm_fdinfo.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tests/intel/xe_drm_fdinfo.c b/tests/intel/xe_drm_fdinfo.c
index e3a99a2dc..074a89711 100644
--- a/tests/intel/xe_drm_fdinfo.c
+++ b/tests/intel/xe_drm_fdinfo.c
@@ -416,6 +416,7 @@ spin_sync_start(int fd, struct spin_ctx *ctx)
return;
ctx->spin_opts.addr = ctx->addr;
+ ctx->spin_opts.write_timestamp = true;
ctx->spin_opts.preempt = true;
xe_spin_init(ctx->spin, &ctx->spin_opts);
@@ -448,7 +449,8 @@ spin_sync_end(int fd, struct spin_ctx *ctx)
igt_assert(syncobj_wait(fd, &ctx->sync[0].handle, 1, INT64_MAX, 0, NULL));
ctx->ended = true;
- igt_debug("%s: spinner ended\n", engine_map[ctx->class]);
+ igt_debug("%s: spinner ended (timestamp=%u)\n", engine_map[ctx->class],
+ ctx->spin->timestamp);
}
static void
--
2.43.0
More information about the igt-dev
mailing list