[igt-dev] [PATCH i-g-t 6/6] tests/i915/gem_exec_reloc: Don't attempt active relocations with the command parser
Jason Ekstrand
jason at jlekstrand.net
Sun Jul 11 03:52:04 UTC 2021
The command parser stalls waiting for the batch to be idle. If it's
blocked by a spinner, execbuf will timeout.
Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
---
tests/i915/gem_exec_reloc.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/tests/i915/gem_exec_reloc.c b/tests/i915/gem_exec_reloc.c
index d54473341..0c2f389ea 100644
--- a/tests/i915/gem_exec_reloc.c
+++ b/tests/i915/gem_exec_reloc.c
@@ -415,6 +415,11 @@ static void many_active(int i915, const intel_ctx_t *ctx, unsigned engine)
const uint64_t max = 2048;
unsigned long count = 256;
+ /* Relocating in an active batch buffer doesn't work with the
+ * command parser
+ */
+ igt_require(!gem_engine_has_cmdparser(i915, &ctx->cfg, engine));
+
igt_until_timeout(2) {
uint64_t required, total;
@@ -488,6 +493,11 @@ static void wide_active(int i915, const intel_ctx_t *ctx, unsigned engine)
const uint64_t max = gem_aperture_size(i915) / 4096 / 2;
unsigned long count = 256;
+ /* Relocating in an active batch buffer doesn't work with the
+ * command parser
+ */
+ igt_require(!gem_engine_has_cmdparser(i915, &ctx->cfg, engine));
+
igt_until_timeout(2) {
uint64_t required, total;
@@ -517,6 +527,11 @@ static void active_spin(int fd, const intel_ctx_t *ctx, unsigned engine)
struct drm_i915_gem_execbuffer2 execbuf;
igt_spin_t *spin;
+ /* Relocating in an active batch buffer doesn't work with the
+ * command parser
+ */
+ igt_require(!gem_engine_has_cmdparser(fd, &ctx->cfg, engine));
+
spin = igt_spin_new(fd,
.ctx = ctx,
.engine = engine,
--
2.31.1
More information about the igt-dev
mailing list