The test is supposed to create a context for each execution, so do so.

Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
---
 tests/i915/gem_ctx_create.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/tests/i915/gem_ctx_create.c b/tests/i915/gem_ctx_create.c
index 2c44a3e3e..d9192fbab 100644
--- a/tests/i915/gem_ctx_create.c
+++ b/tests/i915/gem_ctx_create.c
@@ -178,7 +178,7 @@ static void active(int fd, const struct 
intel_execution_engine2 *e,
 
                        execbuf.flags = ppgtt_engines[child];
 
-                       while (!*(volatile unsigned *)shared) {
+                       while (!READ_ONCE(*shared)) {
                                obj.handle = gem_create(fd, 4096 << 10);
                                gem_write(fd, obj.handle, 0, &bbe, sizeof(bbe));
 
@@ -209,17 +209,19 @@ static void active(int fd, const struct 
intel_execution_engine2 *e,
 
                clock_gettime(CLOCK_MONOTONIC, &start);
                do {
-                       do {
-                               execbuf.rsvd1 = ctx;
-                               for (unsigned n = 0; n < nengine; n++) {
-                                       execbuf.flags = engines[n];
-                                       gem_execbuf(fd, &execbuf);
-                               }
-                               gem_context_destroy(fd, execbuf.rsvd1);
-                       } while (++count & 1023);
+                       execbuf.rsvd1 = gem_context_clone_with_engines(fd, ctx);
+                       for (unsigned n = 0; n < nengine; n++) {
+                               execbuf.flags = engines[n];
+                               gem_execbuf(fd, &execbuf);
+                       }
+                       gem_context_destroy(fd, execbuf.rsvd1);
+                       count++;
+
                        clock_gettime(CLOCK_MONOTONIC, &end);
                } while (elapsed(&start, &end) < timeout);
 
+               gem_context_destroy(fd, ctx);
+
                gem_sync(fd, obj.handle);
                clock_gettime(CLOCK_MONOTONIC, &end);
                igt_info("[%d] Context creation + execution: %.3f us\n",
-- 
2.25.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to