All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATH i-g-t 1/2] tests/gem_ctx_bad_exec: Consolidate to gem_ctx_exec
@ 2018-09-07  9:30 ` Tvrtko Ursulin
  0 siblings, 0 replies; 9+ messages in thread
From: Tvrtko Ursulin @ 2018-09-07  9:30 UTC (permalink / raw)
  To: igt-dev; +Cc: Intel-gfx

From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Move a really small test that invalid context is rejected under the
gem_ctx_exec umbrella.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
 tests/Makefile.sources   |  1 -
 tests/gem_ctx_bad_exec.c | 60 ----------------------------------------
 tests/gem_ctx_exec.c     | 22 +++++++++++++++
 tests/meson.build        |  1 -
 4 files changed, 22 insertions(+), 62 deletions(-)
 delete mode 100644 tests/gem_ctx_bad_exec.c

diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index f8f2c8d67d72..6765143bf344 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -51,7 +51,6 @@ TESTS_progs = \
 	gem_cs_prefetch \
 	gem_cs_tlb \
 	gem_ctx_bad_destroy \
-	gem_ctx_bad_exec \
 	gem_ctx_create \
 	gem_ctx_exec \
 	gem_ctx_isolation \
diff --git a/tests/gem_ctx_bad_exec.c b/tests/gem_ctx_bad_exec.c
deleted file mode 100644
index e3ccc5be46a0..000000000000
--- a/tests/gem_ctx_bad_exec.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright © 2012 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- */
-
-#include "igt.h"
-
-IGT_TEST_DESCRIPTION("Test that context cannot be submitted to any ring");
-
-static int exec(int fd, unsigned ring)
-{
-	struct drm_i915_gem_execbuffer2 execbuf;
-	struct drm_i915_gem_exec_object2 obj;
-
-	memset(&obj, 0, sizeof(obj));
-	memset(&execbuf, 0, sizeof(execbuf));
-
-	execbuf.buffers_ptr = to_user_pointer(&obj);
-	execbuf.buffer_count = 1;
-	i915_execbuffer2_set_context_id(execbuf, 1);
-
-	return __gem_execbuf(fd, &execbuf);
-}
-
-igt_main
-{
-	const struct intel_execution_engine *e;
-	int fd = -1;
-
-	igt_skip_on_simulation();
-
-	igt_fixture
-		fd = drm_open_driver_render(DRIVER_INTEL);
-
-	for (e = intel_execution_engines; e->name; e++) {
-		igt_subtest_f("%s", e->name) {
-			gem_require_ring(fd, e->exec_id | e->flags);
-			igt_assert_eq(exec(fd, e->exec_id | e->flags), -ENOENT);
-		}
-	}
-}
diff --git a/tests/gem_ctx_exec.c b/tests/gem_ctx_exec.c
index 1f8ed64d4bd3..b35ec9f64775 100644
--- a/tests/gem_ctx_exec.c
+++ b/tests/gem_ctx_exec.c
@@ -142,6 +142,19 @@ static void big_exec(int fd, uint32_t handle, int ring)
 	gem_sync(fd, handle);
 }
 
+static void invalid_context(int fd, unsigned ring)
+{
+	struct drm_i915_gem_exec_object2 obj = { };
+	struct drm_i915_gem_execbuffer2 execbuf = {
+		.buffers_ptr = to_user_pointer(&obj),
+		.buffer_count = 1,
+	};
+
+	i915_execbuffer2_set_context_id(execbuf, 1);
+
+	igt_assert_eq(__gem_execbuf(fd, &execbuf), -ENOENT);
+}
+
 uint32_t handle;
 uint32_t batch[2] = {0, MI_BATCH_BUFFER_END};
 uint32_t ctx_id, ctx_id2;
@@ -149,6 +162,8 @@ int fd;
 
 igt_main
 {
+	const struct intel_execution_engine *e;
+
 	igt_fixture {
 		fd = drm_open_driver_render(DRIVER_INTEL);
 		igt_require_gem(fd);
@@ -174,6 +189,13 @@ igt_main
 		gem_sync(fd, handle);
 	}
 
+	for (e = intel_execution_engines; e->name; e++) {
+		igt_subtest_f("invalid-context-%s", e->name) {
+			gem_require_ring(fd, e->exec_id | e->flags);
+			invalid_context(fd, e->exec_id | e->flags);
+		}
+	}
+
 	igt_subtest("eviction")
 		big_exec(fd, handle, I915_EXEC_RENDER);
 
diff --git a/tests/meson.build b/tests/meson.build
index 9319fa4e19b4..f70c859f1a62 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -28,7 +28,6 @@ test_progs = [
 	'gem_cs_prefetch',
 	'gem_cs_tlb',
 	'gem_ctx_bad_destroy',
-	'gem_ctx_bad_exec',
 	'gem_ctx_create',
 	'gem_ctx_exec',
 	'gem_ctx_isolation',
-- 
2.17.1

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

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [igt-dev] [PATH i-g-t 1/2] tests/gem_ctx_bad_exec: Consolidate to gem_ctx_exec
@ 2018-09-07  9:30 ` Tvrtko Ursulin
  0 siblings, 0 replies; 9+ messages in thread
From: Tvrtko Ursulin @ 2018-09-07  9:30 UTC (permalink / raw)
  To: igt-dev; +Cc: Intel-gfx, Tvrtko Ursulin

From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Move a really small test that invalid context is rejected under the
gem_ctx_exec umbrella.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
 tests/Makefile.sources   |  1 -
 tests/gem_ctx_bad_exec.c | 60 ----------------------------------------
 tests/gem_ctx_exec.c     | 22 +++++++++++++++
 tests/meson.build        |  1 -
 4 files changed, 22 insertions(+), 62 deletions(-)
 delete mode 100644 tests/gem_ctx_bad_exec.c

diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index f8f2c8d67d72..6765143bf344 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -51,7 +51,6 @@ TESTS_progs = \
 	gem_cs_prefetch \
 	gem_cs_tlb \
 	gem_ctx_bad_destroy \
-	gem_ctx_bad_exec \
 	gem_ctx_create \
 	gem_ctx_exec \
 	gem_ctx_isolation \
diff --git a/tests/gem_ctx_bad_exec.c b/tests/gem_ctx_bad_exec.c
deleted file mode 100644
index e3ccc5be46a0..000000000000
--- a/tests/gem_ctx_bad_exec.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright © 2012 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- */
-
-#include "igt.h"
-
-IGT_TEST_DESCRIPTION("Test that context cannot be submitted to any ring");
-
-static int exec(int fd, unsigned ring)
-{
-	struct drm_i915_gem_execbuffer2 execbuf;
-	struct drm_i915_gem_exec_object2 obj;
-
-	memset(&obj, 0, sizeof(obj));
-	memset(&execbuf, 0, sizeof(execbuf));
-
-	execbuf.buffers_ptr = to_user_pointer(&obj);
-	execbuf.buffer_count = 1;
-	i915_execbuffer2_set_context_id(execbuf, 1);
-
-	return __gem_execbuf(fd, &execbuf);
-}
-
-igt_main
-{
-	const struct intel_execution_engine *e;
-	int fd = -1;
-
-	igt_skip_on_simulation();
-
-	igt_fixture
-		fd = drm_open_driver_render(DRIVER_INTEL);
-
-	for (e = intel_execution_engines; e->name; e++) {
-		igt_subtest_f("%s", e->name) {
-			gem_require_ring(fd, e->exec_id | e->flags);
-			igt_assert_eq(exec(fd, e->exec_id | e->flags), -ENOENT);
-		}
-	}
-}
diff --git a/tests/gem_ctx_exec.c b/tests/gem_ctx_exec.c
index 1f8ed64d4bd3..b35ec9f64775 100644
--- a/tests/gem_ctx_exec.c
+++ b/tests/gem_ctx_exec.c
@@ -142,6 +142,19 @@ static void big_exec(int fd, uint32_t handle, int ring)
 	gem_sync(fd, handle);
 }
 
+static void invalid_context(int fd, unsigned ring)
+{
+	struct drm_i915_gem_exec_object2 obj = { };
+	struct drm_i915_gem_execbuffer2 execbuf = {
+		.buffers_ptr = to_user_pointer(&obj),
+		.buffer_count = 1,
+	};
+
+	i915_execbuffer2_set_context_id(execbuf, 1);
+
+	igt_assert_eq(__gem_execbuf(fd, &execbuf), -ENOENT);
+}
+
 uint32_t handle;
 uint32_t batch[2] = {0, MI_BATCH_BUFFER_END};
 uint32_t ctx_id, ctx_id2;
@@ -149,6 +162,8 @@ int fd;
 
 igt_main
 {
+	const struct intel_execution_engine *e;
+
 	igt_fixture {
 		fd = drm_open_driver_render(DRIVER_INTEL);
 		igt_require_gem(fd);
@@ -174,6 +189,13 @@ igt_main
 		gem_sync(fd, handle);
 	}
 
+	for (e = intel_execution_engines; e->name; e++) {
+		igt_subtest_f("invalid-context-%s", e->name) {
+			gem_require_ring(fd, e->exec_id | e->flags);
+			invalid_context(fd, e->exec_id | e->flags);
+		}
+	}
+
 	igt_subtest("eviction")
 		big_exec(fd, handle, I915_EXEC_RENDER);
 
diff --git a/tests/meson.build b/tests/meson.build
index 9319fa4e19b4..f70c859f1a62 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -28,7 +28,6 @@ test_progs = [
 	'gem_cs_prefetch',
 	'gem_cs_tlb',
 	'gem_ctx_bad_destroy',
-	'gem_ctx_bad_exec',
 	'gem_ctx_create',
 	'gem_ctx_exec',
 	'gem_ctx_isolation',
-- 
2.17.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATH i-g-t 2/2] tests/gem_ctx_exec: Move lrc-lite-restore to gem_ctx_switch
  2018-09-07  9:30 ` [igt-dev] " Tvrtko Ursulin
@ 2018-09-07  9:30   ` Tvrtko Ursulin
  -1 siblings, 0 replies; 9+ messages in thread
From: Tvrtko Ursulin @ 2018-09-07  9:30 UTC (permalink / raw)
  To: igt-dev; +Cc: Intel-gfx

From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

New home is more appropriate for this test.

At the same time tidy code a tiny bit.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
 tests/gem_ctx_exec.c   | 75 +++++++-----------------------------------
 tests/gem_ctx_switch.c | 46 ++++++++++++++++++++++++++
 2 files changed, 58 insertions(+), 63 deletions(-)

diff --git a/tests/gem_ctx_exec.c b/tests/gem_ctx_exec.c
index b35ec9f64775..b9173e9e2b17 100644
--- a/tests/gem_ctx_exec.c
+++ b/tests/gem_ctx_exec.c
@@ -25,10 +25,6 @@
  *
  */
 
-/*
- * This test covers basic context switch functionality
- */
-
 #include "igt.h"
 #include <unistd.h>
 #include <stdlib.h>
@@ -45,34 +41,18 @@
 #include <drm.h>
 
 
-IGT_TEST_DESCRIPTION("Test basic context switch functionality.");
+IGT_TEST_DESCRIPTION("Test context batch execution.");
 
-/* Copied from gem_exec_nop.c */
 static int exec(int fd, uint32_t handle, int ring, int ctx_id)
 {
-	struct drm_i915_gem_execbuffer2 execbuf;
-	struct drm_i915_gem_exec_object2 gem_exec;
-
-	gem_exec.handle = handle;
-	gem_exec.relocation_count = 0;
-	gem_exec.relocs_ptr = 0;
-	gem_exec.alignment = 0;
-	gem_exec.offset = 0;
-	gem_exec.flags = 0;
-	gem_exec.rsvd1 = 0;
-	gem_exec.rsvd2 = 0;
-
-	execbuf.buffers_ptr = to_user_pointer(&gem_exec);
-	execbuf.buffer_count = 1;
-	execbuf.batch_start_offset = 0;
-	execbuf.batch_len = 8;
-	execbuf.cliprects_ptr = 0;
-	execbuf.num_cliprects = 0;
-	execbuf.DR1 = 0;
-	execbuf.DR4 = 0;
-	execbuf.flags = ring;
+	struct drm_i915_gem_exec_object2 obj = { .handle = handle };
+	struct drm_i915_gem_execbuffer2 execbuf = {
+		.buffers_ptr = to_user_pointer(&obj),
+		.buffer_count = 1,
+		.flags = ring,
+	};
+
 	i915_execbuffer2_set_context_id(execbuf, ctx_id);
-	execbuf.rsvd2 = 0;
 
 	return __gem_execbuf(fd, &execbuf);
 }
@@ -92,13 +72,11 @@ static void big_exec(int fd, uint32_t handle, int ring)
 	igt_assert(gem_exec);
 	memset(gem_exec, 0, (num_buffers + 1) * sizeof(*gem_exec));
 
-
 	ctx_id1 = gem_context_create(fd);
 	ctx_id2 = gem_context_create(fd);
 
 	gem_exec[0].handle = handle;
 
-
 	execbuf.buffers_ptr = to_user_pointer(gem_exec);
 	execbuf.buffer_count = num_buffers + 1;
 	execbuf.batch_start_offset = 0;
@@ -155,14 +133,13 @@ static void invalid_context(int fd, unsigned ring)
 	igt_assert_eq(__gem_execbuf(fd, &execbuf), -ENOENT);
 }
 
-uint32_t handle;
-uint32_t batch[2] = {0, MI_BATCH_BUFFER_END};
-uint32_t ctx_id, ctx_id2;
-int fd;
-
 igt_main
 {
+	const uint32_t batch[2] = { 0, MI_BATCH_BUFFER_END };
 	const struct intel_execution_engine *e;
+	uint32_t handle;
+	uint32_t ctx_id;
+	int fd;
 
 	igt_fixture {
 		fd = drm_open_driver_render(DRIVER_INTEL);
@@ -225,32 +202,4 @@ igt_main
 
 		gem_context_destroy(fd, ctx_id);
 	}
-
-	igt_subtest("lrc-lite-restore") {
-		int i, j;
-
-		/*
-		 * Need 2 contexts to be able to replicate a lite restore,
-		 * i.e. a running context is resubmitted.
-		 */
-		ctx_id = gem_context_create(fd);
-		ctx_id2 = gem_context_create(fd);
-
-		/*
-		 * Queue several small batchbuffers to be sure we'll send execlists
-		 * with 2 valid context, and likely cause a lite restore when ctxB
-		 * is resubmitted at the top of the new execlist.
-		 */
-		for (i = 0; i < 20; i++) {
-			for (j = 0; j < 200; j++) {
-				igt_assert(exec(fd, handle, I915_EXEC_RENDER, ctx_id) == 0);
-				igt_assert(exec(fd, handle, I915_EXEC_RENDER, ctx_id2) == 0);
-			}
-
-			gem_sync(fd, handle);
-		}
-
-		gem_context_destroy(fd, ctx_id);
-		gem_context_destroy(fd, ctx_id2);
-	}
 }
diff --git a/tests/gem_ctx_switch.c b/tests/gem_ctx_switch.c
index 1208cb8d7fe2..7ad7b31ea183 100644
--- a/tests/gem_ctx_switch.c
+++ b/tests/gem_ctx_switch.c
@@ -83,6 +83,20 @@ static int measure_qlen(int fd,
 	return qlen;
 }
 
+static int exec(int fd, uint32_t handle, int ring, int ctx_id)
+{
+	struct drm_i915_gem_exec_object2 obj = { .handle = handle };
+	struct drm_i915_gem_execbuffer2 execbuf = {
+		.buffers_ptr = to_user_pointer(&obj),
+		.buffer_count = 1,
+		.flags = ring,
+	};
+
+	i915_execbuffer2_set_context_id(execbuf, ctx_id);
+
+	return __gem_execbuf(fd, &execbuf);
+}
+
 static void single(int fd, uint32_t handle,
 		   const struct intel_execution_engine *e,
 		   unsigned flags,
@@ -318,6 +332,38 @@ igt_main
 	igt_subtest("basic-all-heavy")
 		all(fd, heavy, 0, 5);
 
+	igt_subtest("lrc-lite-restore") {
+		uint32_t ctx[2];
+		int i, j;
+
+		/*
+		 * Need 2 contexts to be able to replicate a lite restore,
+		 * i.e. a running context is resubmitted.
+		 */
+		ctx[0] = gem_context_create(fd);
+		ctx[1] = gem_context_create(fd);
+
+		/*
+		 * Queue several small batchbuffers to be sure we'll send
+		 * execlists with 2 valid context, and likely cause a lite
+		 * restore when ctxB is resubmitted at the top of the new
+		 * execlist.
+		 */
+		for (i = 0; i < 20; i++) {
+			for (j = 0; j < 200; j++) {
+				igt_assert_eq(exec(fd, light, I915_EXEC_RENDER,
+						   ctx[0]), 0);
+				igt_assert_eq(exec(fd, light, I915_EXEC_RENDER,
+						   ctx[1]), 0);
+			}
+
+			gem_sync(fd, light);
+		}
+
+		gem_context_destroy(fd, ctx[0]);
+		gem_context_destroy(fd, ctx[1]);
+	}
+
 	igt_fixture {
 		igt_stop_hang_detector();
 		gem_close(fd, heavy);
-- 
2.17.1

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

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [igt-dev] [PATH i-g-t 2/2] tests/gem_ctx_exec: Move lrc-lite-restore to gem_ctx_switch
@ 2018-09-07  9:30   ` Tvrtko Ursulin
  0 siblings, 0 replies; 9+ messages in thread
From: Tvrtko Ursulin @ 2018-09-07  9:30 UTC (permalink / raw)
  To: igt-dev; +Cc: Intel-gfx, Tvrtko Ursulin

From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

New home is more appropriate for this test.

At the same time tidy code a tiny bit.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
 tests/gem_ctx_exec.c   | 75 +++++++-----------------------------------
 tests/gem_ctx_switch.c | 46 ++++++++++++++++++++++++++
 2 files changed, 58 insertions(+), 63 deletions(-)

diff --git a/tests/gem_ctx_exec.c b/tests/gem_ctx_exec.c
index b35ec9f64775..b9173e9e2b17 100644
--- a/tests/gem_ctx_exec.c
+++ b/tests/gem_ctx_exec.c
@@ -25,10 +25,6 @@
  *
  */
 
-/*
- * This test covers basic context switch functionality
- */
-
 #include "igt.h"
 #include <unistd.h>
 #include <stdlib.h>
@@ -45,34 +41,18 @@
 #include <drm.h>
 
 
-IGT_TEST_DESCRIPTION("Test basic context switch functionality.");
+IGT_TEST_DESCRIPTION("Test context batch execution.");
 
-/* Copied from gem_exec_nop.c */
 static int exec(int fd, uint32_t handle, int ring, int ctx_id)
 {
-	struct drm_i915_gem_execbuffer2 execbuf;
-	struct drm_i915_gem_exec_object2 gem_exec;
-
-	gem_exec.handle = handle;
-	gem_exec.relocation_count = 0;
-	gem_exec.relocs_ptr = 0;
-	gem_exec.alignment = 0;
-	gem_exec.offset = 0;
-	gem_exec.flags = 0;
-	gem_exec.rsvd1 = 0;
-	gem_exec.rsvd2 = 0;
-
-	execbuf.buffers_ptr = to_user_pointer(&gem_exec);
-	execbuf.buffer_count = 1;
-	execbuf.batch_start_offset = 0;
-	execbuf.batch_len = 8;
-	execbuf.cliprects_ptr = 0;
-	execbuf.num_cliprects = 0;
-	execbuf.DR1 = 0;
-	execbuf.DR4 = 0;
-	execbuf.flags = ring;
+	struct drm_i915_gem_exec_object2 obj = { .handle = handle };
+	struct drm_i915_gem_execbuffer2 execbuf = {
+		.buffers_ptr = to_user_pointer(&obj),
+		.buffer_count = 1,
+		.flags = ring,
+	};
+
 	i915_execbuffer2_set_context_id(execbuf, ctx_id);
-	execbuf.rsvd2 = 0;
 
 	return __gem_execbuf(fd, &execbuf);
 }
@@ -92,13 +72,11 @@ static void big_exec(int fd, uint32_t handle, int ring)
 	igt_assert(gem_exec);
 	memset(gem_exec, 0, (num_buffers + 1) * sizeof(*gem_exec));
 
-
 	ctx_id1 = gem_context_create(fd);
 	ctx_id2 = gem_context_create(fd);
 
 	gem_exec[0].handle = handle;
 
-
 	execbuf.buffers_ptr = to_user_pointer(gem_exec);
 	execbuf.buffer_count = num_buffers + 1;
 	execbuf.batch_start_offset = 0;
@@ -155,14 +133,13 @@ static void invalid_context(int fd, unsigned ring)
 	igt_assert_eq(__gem_execbuf(fd, &execbuf), -ENOENT);
 }
 
-uint32_t handle;
-uint32_t batch[2] = {0, MI_BATCH_BUFFER_END};
-uint32_t ctx_id, ctx_id2;
-int fd;
-
 igt_main
 {
+	const uint32_t batch[2] = { 0, MI_BATCH_BUFFER_END };
 	const struct intel_execution_engine *e;
+	uint32_t handle;
+	uint32_t ctx_id;
+	int fd;
 
 	igt_fixture {
 		fd = drm_open_driver_render(DRIVER_INTEL);
@@ -225,32 +202,4 @@ igt_main
 
 		gem_context_destroy(fd, ctx_id);
 	}
-
-	igt_subtest("lrc-lite-restore") {
-		int i, j;
-
-		/*
-		 * Need 2 contexts to be able to replicate a lite restore,
-		 * i.e. a running context is resubmitted.
-		 */
-		ctx_id = gem_context_create(fd);
-		ctx_id2 = gem_context_create(fd);
-
-		/*
-		 * Queue several small batchbuffers to be sure we'll send execlists
-		 * with 2 valid context, and likely cause a lite restore when ctxB
-		 * is resubmitted at the top of the new execlist.
-		 */
-		for (i = 0; i < 20; i++) {
-			for (j = 0; j < 200; j++) {
-				igt_assert(exec(fd, handle, I915_EXEC_RENDER, ctx_id) == 0);
-				igt_assert(exec(fd, handle, I915_EXEC_RENDER, ctx_id2) == 0);
-			}
-
-			gem_sync(fd, handle);
-		}
-
-		gem_context_destroy(fd, ctx_id);
-		gem_context_destroy(fd, ctx_id2);
-	}
 }
diff --git a/tests/gem_ctx_switch.c b/tests/gem_ctx_switch.c
index 1208cb8d7fe2..7ad7b31ea183 100644
--- a/tests/gem_ctx_switch.c
+++ b/tests/gem_ctx_switch.c
@@ -83,6 +83,20 @@ static int measure_qlen(int fd,
 	return qlen;
 }
 
+static int exec(int fd, uint32_t handle, int ring, int ctx_id)
+{
+	struct drm_i915_gem_exec_object2 obj = { .handle = handle };
+	struct drm_i915_gem_execbuffer2 execbuf = {
+		.buffers_ptr = to_user_pointer(&obj),
+		.buffer_count = 1,
+		.flags = ring,
+	};
+
+	i915_execbuffer2_set_context_id(execbuf, ctx_id);
+
+	return __gem_execbuf(fd, &execbuf);
+}
+
 static void single(int fd, uint32_t handle,
 		   const struct intel_execution_engine *e,
 		   unsigned flags,
@@ -318,6 +332,38 @@ igt_main
 	igt_subtest("basic-all-heavy")
 		all(fd, heavy, 0, 5);
 
+	igt_subtest("lrc-lite-restore") {
+		uint32_t ctx[2];
+		int i, j;
+
+		/*
+		 * Need 2 contexts to be able to replicate a lite restore,
+		 * i.e. a running context is resubmitted.
+		 */
+		ctx[0] = gem_context_create(fd);
+		ctx[1] = gem_context_create(fd);
+
+		/*
+		 * Queue several small batchbuffers to be sure we'll send
+		 * execlists with 2 valid context, and likely cause a lite
+		 * restore when ctxB is resubmitted at the top of the new
+		 * execlist.
+		 */
+		for (i = 0; i < 20; i++) {
+			for (j = 0; j < 200; j++) {
+				igt_assert_eq(exec(fd, light, I915_EXEC_RENDER,
+						   ctx[0]), 0);
+				igt_assert_eq(exec(fd, light, I915_EXEC_RENDER,
+						   ctx[1]), 0);
+			}
+
+			gem_sync(fd, light);
+		}
+
+		gem_context_destroy(fd, ctx[0]);
+		gem_context_destroy(fd, ctx[1]);
+	}
+
 	igt_fixture {
 		igt_stop_hang_detector();
 		gem_close(fd, heavy);
-- 
2.17.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [igt-dev] [PATH i-g-t 1/2] tests/gem_ctx_bad_exec: Consolidate to gem_ctx_exec
  2018-09-07  9:30 ` [igt-dev] " Tvrtko Ursulin
@ 2018-09-07  9:39   ` Chris Wilson
  -1 siblings, 0 replies; 9+ messages in thread
From: Chris Wilson @ 2018-09-07  9:39 UTC (permalink / raw)
  To: Tvrtko Ursulin, igt-dev; +Cc: Intel-gfx

Quoting Tvrtko Ursulin (2018-09-07 10:30:07)
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> Move a really small test that invalid context is rejected under the
> gem_ctx_exec umbrella.
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> ---
>  tests/Makefile.sources   |  1 -
>  tests/gem_ctx_bad_exec.c | 60 ----------------------------------------
>  tests/gem_ctx_exec.c     | 22 +++++++++++++++
>  tests/meson.build        |  1 -
>  4 files changed, 22 insertions(+), 62 deletions(-)
>  delete mode 100644 tests/gem_ctx_bad_exec.c
> 
> diff --git a/tests/Makefile.sources b/tests/Makefile.sources
> index f8f2c8d67d72..6765143bf344 100644
> --- a/tests/Makefile.sources
> +++ b/tests/Makefile.sources
> @@ -51,7 +51,6 @@ TESTS_progs = \
>         gem_cs_prefetch \
>         gem_cs_tlb \
>         gem_ctx_bad_destroy \
> -       gem_ctx_bad_exec \
>         gem_ctx_create \
>         gem_ctx_exec \
>         gem_ctx_isolation \
> diff --git a/tests/gem_ctx_bad_exec.c b/tests/gem_ctx_bad_exec.c
> deleted file mode 100644
> index e3ccc5be46a0..000000000000
> --- a/tests/gem_ctx_bad_exec.c
> +++ /dev/null
> @@ -1,60 +0,0 @@
> -/*
> - * Copyright © 2012 Intel Corporation
> - *
> - * Permission is hereby granted, free of charge, to any person obtaining a
> - * copy of this software and associated documentation files (the "Software"),
> - * to deal in the Software without restriction, including without limitation
> - * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> - * and/or sell copies of the Software, and to permit persons to whom the
> - * Software is furnished to do so, subject to the following conditions:
> - *
> - * The above copyright notice and this permission notice (including the next
> - * paragraph) shall be included in all copies or substantial portions of the
> - * Software.
> - *
> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
> - * IN THE SOFTWARE.
> - *
> - */
> -
> -#include "igt.h"
> -
> -IGT_TEST_DESCRIPTION("Test that context cannot be submitted to any ring");
> -
> -static int exec(int fd, unsigned ring)
> -{
> -       struct drm_i915_gem_execbuffer2 execbuf;
> -       struct drm_i915_gem_exec_object2 obj;
> -
> -       memset(&obj, 0, sizeof(obj));
> -       memset(&execbuf, 0, sizeof(execbuf));
> -
> -       execbuf.buffers_ptr = to_user_pointer(&obj);
> -       execbuf.buffer_count = 1;
> -       i915_execbuffer2_set_context_id(execbuf, 1);
> -
> -       return __gem_execbuf(fd, &execbuf);
> -}
> -
> -igt_main
> -{
> -       const struct intel_execution_engine *e;
> -       int fd = -1;
> -
> -       igt_skip_on_simulation();
> -
> -       igt_fixture
> -               fd = drm_open_driver_render(DRIVER_INTEL);
> -
> -       for (e = intel_execution_engines; e->name; e++) {
> -               igt_subtest_f("%s", e->name) {
> -                       gem_require_ring(fd, e->exec_id | e->flags);
> -                       igt_assert_eq(exec(fd, e->exec_id | e->flags), -ENOENT);
> -               }
> -       }
> -}
> diff --git a/tests/gem_ctx_exec.c b/tests/gem_ctx_exec.c
> index 1f8ed64d4bd3..b35ec9f64775 100644
> --- a/tests/gem_ctx_exec.c
> +++ b/tests/gem_ctx_exec.c
> @@ -142,6 +142,19 @@ static void big_exec(int fd, uint32_t handle, int ring)
>         gem_sync(fd, handle);
>  }
>  
> +static void invalid_context(int fd, unsigned ring)
> +{
> +       struct drm_i915_gem_exec_object2 obj = { };
> +       struct drm_i915_gem_execbuffer2 execbuf = {
> +               .buffers_ptr = to_user_pointer(&obj),
> +               .buffer_count = 1,

.flags = ring

> +       };
> +
> +       i915_execbuffer2_set_context_id(execbuf, 1);

BLEUGH.

> +
> +       igt_assert_eq(__gem_execbuf(fd, &execbuf), -ENOENT);

That doesn't prove we rejected the context as ENOENT could equally be
for the non-existent obj.

I typically use -1 for the invalid context when using this in production
code, so a little more variety is in order :)
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Intel-gfx] [igt-dev] [PATH i-g-t 1/2] tests/gem_ctx_bad_exec: Consolidate to gem_ctx_exec
@ 2018-09-07  9:39   ` Chris Wilson
  0 siblings, 0 replies; 9+ messages in thread
From: Chris Wilson @ 2018-09-07  9:39 UTC (permalink / raw)
  To: Tvrtko Ursulin, igt-dev; +Cc: Intel-gfx

Quoting Tvrtko Ursulin (2018-09-07 10:30:07)
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> Move a really small test that invalid context is rejected under the
> gem_ctx_exec umbrella.
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> ---
>  tests/Makefile.sources   |  1 -
>  tests/gem_ctx_bad_exec.c | 60 ----------------------------------------
>  tests/gem_ctx_exec.c     | 22 +++++++++++++++
>  tests/meson.build        |  1 -
>  4 files changed, 22 insertions(+), 62 deletions(-)
>  delete mode 100644 tests/gem_ctx_bad_exec.c
> 
> diff --git a/tests/Makefile.sources b/tests/Makefile.sources
> index f8f2c8d67d72..6765143bf344 100644
> --- a/tests/Makefile.sources
> +++ b/tests/Makefile.sources
> @@ -51,7 +51,6 @@ TESTS_progs = \
>         gem_cs_prefetch \
>         gem_cs_tlb \
>         gem_ctx_bad_destroy \
> -       gem_ctx_bad_exec \
>         gem_ctx_create \
>         gem_ctx_exec \
>         gem_ctx_isolation \
> diff --git a/tests/gem_ctx_bad_exec.c b/tests/gem_ctx_bad_exec.c
> deleted file mode 100644
> index e3ccc5be46a0..000000000000
> --- a/tests/gem_ctx_bad_exec.c
> +++ /dev/null
> @@ -1,60 +0,0 @@
> -/*
> - * Copyright © 2012 Intel Corporation
> - *
> - * Permission is hereby granted, free of charge, to any person obtaining a
> - * copy of this software and associated documentation files (the "Software"),
> - * to deal in the Software without restriction, including without limitation
> - * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> - * and/or sell copies of the Software, and to permit persons to whom the
> - * Software is furnished to do so, subject to the following conditions:
> - *
> - * The above copyright notice and this permission notice (including the next
> - * paragraph) shall be included in all copies or substantial portions of the
> - * Software.
> - *
> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
> - * IN THE SOFTWARE.
> - *
> - */
> -
> -#include "igt.h"
> -
> -IGT_TEST_DESCRIPTION("Test that context cannot be submitted to any ring");
> -
> -static int exec(int fd, unsigned ring)
> -{
> -       struct drm_i915_gem_execbuffer2 execbuf;
> -       struct drm_i915_gem_exec_object2 obj;
> -
> -       memset(&obj, 0, sizeof(obj));
> -       memset(&execbuf, 0, sizeof(execbuf));
> -
> -       execbuf.buffers_ptr = to_user_pointer(&obj);
> -       execbuf.buffer_count = 1;
> -       i915_execbuffer2_set_context_id(execbuf, 1);
> -
> -       return __gem_execbuf(fd, &execbuf);
> -}
> -
> -igt_main
> -{
> -       const struct intel_execution_engine *e;
> -       int fd = -1;
> -
> -       igt_skip_on_simulation();
> -
> -       igt_fixture
> -               fd = drm_open_driver_render(DRIVER_INTEL);
> -
> -       for (e = intel_execution_engines; e->name; e++) {
> -               igt_subtest_f("%s", e->name) {
> -                       gem_require_ring(fd, e->exec_id | e->flags);
> -                       igt_assert_eq(exec(fd, e->exec_id | e->flags), -ENOENT);
> -               }
> -       }
> -}
> diff --git a/tests/gem_ctx_exec.c b/tests/gem_ctx_exec.c
> index 1f8ed64d4bd3..b35ec9f64775 100644
> --- a/tests/gem_ctx_exec.c
> +++ b/tests/gem_ctx_exec.c
> @@ -142,6 +142,19 @@ static void big_exec(int fd, uint32_t handle, int ring)
>         gem_sync(fd, handle);
>  }
>  
> +static void invalid_context(int fd, unsigned ring)
> +{
> +       struct drm_i915_gem_exec_object2 obj = { };
> +       struct drm_i915_gem_execbuffer2 execbuf = {
> +               .buffers_ptr = to_user_pointer(&obj),
> +               .buffer_count = 1,

.flags = ring

> +       };
> +
> +       i915_execbuffer2_set_context_id(execbuf, 1);

BLEUGH.

> +
> +       igt_assert_eq(__gem_execbuf(fd, &execbuf), -ENOENT);

That doesn't prove we rejected the context as ENOENT could equally be
for the non-existent obj.

I typically use -1 for the invalid context when using this in production
code, so a little more variety is in order :)
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [igt-dev] [PATH i-g-t 2/2] tests/gem_ctx_exec: Move lrc-lite-restore to gem_ctx_switch
  2018-09-07  9:30   ` [igt-dev] " Tvrtko Ursulin
@ 2018-09-07  9:39     ` Chris Wilson
  -1 siblings, 0 replies; 9+ messages in thread
From: Chris Wilson @ 2018-09-07  9:39 UTC (permalink / raw)
  To: Tvrtko Ursulin, igt-dev; +Cc: Intel-gfx

Quoting Tvrtko Ursulin (2018-09-07 10:30:08)
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> New home is more appropriate for this test.

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [igt-dev] [PATH i-g-t 2/2] tests/gem_ctx_exec: Move lrc-lite-restore to gem_ctx_switch
@ 2018-09-07  9:39     ` Chris Wilson
  0 siblings, 0 replies; 9+ messages in thread
From: Chris Wilson @ 2018-09-07  9:39 UTC (permalink / raw)
  To: Tvrtko Ursulin, igt-dev; +Cc: Intel-gfx, Tvrtko Ursulin

Quoting Tvrtko Ursulin (2018-09-07 10:30:08)
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> New home is more appropriate for this test.

Just delete it.
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [PATH,i-g-t,1/2] tests/gem_ctx_bad_exec: Consolidate to gem_ctx_exec
  2018-09-07  9:30 ` [igt-dev] " Tvrtko Ursulin
                   ` (2 preceding siblings ...)
  (?)
@ 2018-09-07 10:16 ` Patchwork
  -1 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2018-09-07 10:16 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: igt-dev

== Series Details ==

Series: series starting with [PATH,i-g-t,1/2] tests/gem_ctx_bad_exec: Consolidate to gem_ctx_exec
URL   : https://patchwork.freedesktop.org/series/49333/
State : failure

== Summary ==

= CI Bug Log - changes from CI_DRM_4782 -> IGTPW_1810 =

== Summary - FAILURE ==

  Serious unknown changes coming with IGTPW_1810 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_1810, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/49333/revisions/1/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in IGTPW_1810:

  === IGT changes ===

    ==== Possible regressions ====

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
      fi-icl-u:           PASS -> INCOMPLETE

    
== Known issues ==

  Here are the changes found in IGTPW_1810 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@debugfs_test@read_all_entries:
      fi-snb-2520m:       PASS -> INCOMPLETE (fdo#103713)

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
      fi-byt-clapper:     PASS -> FAIL (fdo#103191, fdo#107362)

    igt@kms_psr@primary_page_flip:
      fi-skl-6600u:       PASS -> FAIL (fdo#107336)
      fi-kbl-r:           PASS -> FAIL (fdo#107336)

    igt@prime_vgem@basic-fence-flip:
      fi-ilk-650:         PASS -> FAIL (fdo#104008)

    
    ==== Possible fixes ====

    igt@amdgpu/amd_cs_nop@sync-fork-gfx0:
      fi-kbl-8809g:       DMESG-WARN (fdo#107762) -> PASS

    igt@kms_psr@primary_page_flip:
      fi-kbl-7560u:       FAIL (fdo#107336) -> PASS

    
    ==== Warnings ====

    igt@amdgpu/amd_prime@amd-to-i915:
      fi-kbl-8809g:       DMESG-FAIL (fdo#107762) -> FAIL (fdo#107341)

    
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713
  fdo#104008 https://bugs.freedesktop.org/show_bug.cgi?id=104008
  fdo#107336 https://bugs.freedesktop.org/show_bug.cgi?id=107336
  fdo#107341 https://bugs.freedesktop.org/show_bug.cgi?id=107341
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107762 https://bugs.freedesktop.org/show_bug.cgi?id=107762


== Participating hosts (52 -> 48) ==

  Additional (2): fi-byt-j1900 fi-gdg-551 
  Missing    (6): fi-ilk-m540 fi-hsw-4200u fi-hsw-peppy fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 


== Build changes ==

    * IGT: IGT_4632 -> IGTPW_1810

  CI_DRM_4782: 60edf94611d2374821fbe2a824cebcb425ce7b0d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1810: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1810/
  IGT_4632: 94b4e204473a7d9f49e536c8877a4a5636e0d1b2 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+igt@gem_ctx_exec@invalid-context-blt
+igt@gem_ctx_exec@invalid-context-bsd
+igt@gem_ctx_exec@invalid-context-bsd1
+igt@gem_ctx_exec@invalid-context-bsd2
+igt@gem_ctx_exec@invalid-context-default
+igt@gem_ctx_exec@invalid-context-render
+igt@gem_ctx_exec@invalid-context-vebox
+igt@gem_ctx_switch@lrc-lite-restore
-igt@gem_ctx_bad_exec@blt
-igt@gem_ctx_bad_exec@bsd
-igt@gem_ctx_bad_exec@bsd1
-igt@gem_ctx_bad_exec@bsd2
-igt@gem_ctx_bad_exec@default
-igt@gem_ctx_bad_exec@render
-igt@gem_ctx_bad_exec@vebox
-igt@gem_ctx_exec@lrc-lite-restore

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1810/issues.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-09-07 10:16 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-07  9:30 [PATH i-g-t 1/2] tests/gem_ctx_bad_exec: Consolidate to gem_ctx_exec Tvrtko Ursulin
2018-09-07  9:30 ` [igt-dev] " Tvrtko Ursulin
2018-09-07  9:30 ` [PATH i-g-t 2/2] tests/gem_ctx_exec: Move lrc-lite-restore to gem_ctx_switch Tvrtko Ursulin
2018-09-07  9:30   ` [igt-dev] " Tvrtko Ursulin
2018-09-07  9:39   ` Chris Wilson
2018-09-07  9:39     ` Chris Wilson
2018-09-07  9:39 ` [igt-dev] [PATH i-g-t 1/2] tests/gem_ctx_bad_exec: Consolidate to gem_ctx_exec Chris Wilson
2018-09-07  9:39   ` [Intel-gfx] " Chris Wilson
2018-09-07 10:16 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [PATH,i-g-t,1/2] " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.