All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH V3] i915/gem_exec_nop:Adjusted test to utilize all available engines
@ 2020-01-22 17:41 Arjun Melkaveri
  2020-01-22 20:36 ` [igt-dev] ✗ Fi.CI.BAT: failure for i915/gem_exec_nop:Adjusted test to utilize all available engines (rev3) Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Arjun Melkaveri @ 2020-01-22 17:41 UTC (permalink / raw)
  To: arjun.melkaveri, igt-dev

Added __for_each_physical_engine to utilize all available engines.
Moved single, signal, preempt, poll and headless test cases
from static to dynamic group.

Cc: Dec Katarzyna <katarzyna.dec@intel.com>
Cc: Kempczynski Zbigniew <zbigniew.kempczynski@intel.com>
Cc: Tahvanainen Jari <jari.tahvanainen@intel.com>
Cc: Ursulin Tvrtko <tvrtko.ursulin@intel.com>
Signed-off-by: Arjun Melkaveri <arjun.melkaveri@intel.com>
---
V1 -> V2

Addressed Tvrtko review comments
1) removed gem_require_ring
2) replaced gem_can_store_dword with gem_class_can_store_dword
3) Fixed WhiteSpace issues.
---
V2 -> V3

Added back missing code. i.e. MIN_PRIO
---
 tests/i915/gem_exec_nop.c | 150 ++++++++++++++++++++++----------------
 1 file changed, 86 insertions(+), 64 deletions(-)

diff --git a/tests/i915/gem_exec_nop.c b/tests/i915/gem_exec_nop.c
index dbedb356..7ab94f9f 100644
--- a/tests/i915/gem_exec_nop.c
+++ b/tests/i915/gem_exec_nop.c
@@ -66,8 +66,9 @@ static double elapsed(const struct timespec *start, const struct timespec *end)
 		(end->tv_nsec - start->tv_nsec)*1e-9);
 }
 
-static double nop_on_ring(int fd, uint32_t handle, unsigned ring_id,
-			  int timeout, unsigned long *out)
+static double nop_on_ring(int fd, uint32_t handle,
+			  const struct intel_execution_engine2 *e, int timeout,
+			  unsigned long *out)
 {
 	struct drm_i915_gem_execbuffer2 execbuf;
 	struct drm_i915_gem_exec_object2 obj;
@@ -80,11 +81,11 @@ static double nop_on_ring(int fd, uint32_t handle, unsigned ring_id,
 	memset(&execbuf, 0, sizeof(execbuf));
 	execbuf.buffers_ptr = to_user_pointer(&obj);
 	execbuf.buffer_count = 1;
-	execbuf.flags = ring_id;
+	execbuf.flags = e->flags;
 	execbuf.flags |= LOCAL_I915_EXEC_HANDLE_LUT;
 	execbuf.flags |= LOCAL_I915_EXEC_NO_RELOC;
 	if (__gem_execbuf(fd, &execbuf)) {
-		execbuf.flags = ring_id;
+		execbuf.flags = e->flags;
 		gem_execbuf(fd, &execbuf);
 	}
 	intel_detect_and_clear_missed_interrupts(fd);
@@ -104,7 +105,8 @@ static double nop_on_ring(int fd, uint32_t handle, unsigned ring_id,
 	return elapsed(&start, &now);
 }
 
-static void poll_ring(int fd, unsigned engine, const char *name, int timeout)
+static void poll_ring(int fd, const struct intel_execution_engine2 *e,
+		      int timeout)
 {
 	const int gen = intel_gen(intel_get_drm_devid(fd));
 	const uint32_t MI_ARB_CHK = 0x5 << 23;
@@ -121,9 +123,8 @@ static void poll_ring(int fd, unsigned engine, const char *name, int timeout)
 	if (gen == 4 || gen == 5)
 		flags |= I915_EXEC_SECURE;
 
-	gem_require_ring(fd, engine);
-	igt_require(gem_can_store_dword(fd, engine));
-	igt_require(gem_engine_has_mutable_submission(fd, engine));
+	igt_require(gem_class_can_store_dword(fd, e->class));
+	igt_require(gem_class_has_mutable_submission(fd, e->class));
 
 	memset(&obj, 0, sizeof(obj));
 	obj.handle = gem_create(fd, 4096);
@@ -187,7 +188,7 @@ static void poll_ring(int fd, unsigned engine, const char *name, int timeout)
 	memset(&execbuf, 0, sizeof(execbuf));
 	execbuf.buffers_ptr = to_user_pointer(&obj);
 	execbuf.buffer_count = 1;
-	execbuf.flags = engine | flags;
+	execbuf.flags = e->flags | flags;
 
 	cycles = 0;
 	do {
@@ -209,7 +210,7 @@ static void poll_ring(int fd, unsigned engine, const char *name, int timeout)
 	gem_sync(fd, obj.handle);
 
 	igt_info("%s completed %ld cycles: %.3f us\n",
-		 name, cycles, elapsed*1e-3/cycles);
+		 e->name, cycles, elapsed*1e-3/cycles);
 
 	munmap(batch, 4096);
 	gem_close(fd, obj.handle);
@@ -218,6 +219,7 @@ static void poll_ring(int fd, unsigned engine, const char *name, int timeout)
 static void poll_sequential(int fd, const char *name, int timeout)
 {
 	const int gen = intel_gen(intel_get_drm_devid(fd));
+	const struct intel_execution_engine2 *e;
 	const uint32_t MI_ARB_CHK = 0x5 << 23;
 	struct drm_i915_gem_execbuffer2 execbuf;
 	struct drm_i915_gem_exec_object2 obj[2];
@@ -234,13 +236,14 @@ static void poll_sequential(int fd, const char *name, int timeout)
 		flags |= I915_EXEC_SECURE;
 
 	nengine = 0;
-	for_each_physical_engine(e, fd) {
-		if (!gem_can_store_dword(fd, eb_ring(e)) ||
-		    !gem_engine_has_mutable_submission(fd, eb_ring(e)))
+	__for_each_physical_engine(fd, e) {
+		if (!gem_class_can_store_dword(fd, e->class) ||
+		    !gem_class_has_mutable_submission(fd, e->class))
 			continue;
 
-		engines[nengine++] = eb_ring(e);
+		engines[nengine++] = e->flags;
 	}
+
 	igt_require(nengine);
 
 	memset(obj, 0, sizeof(obj));
@@ -344,21 +347,20 @@ static void poll_sequential(int fd, const char *name, int timeout)
 }
 
 static void single(int fd, uint32_t handle,
-		   unsigned ring_id, const char *ring_name)
+		   const struct intel_execution_engine2 *e)
 {
 	double time;
 	unsigned long count;
 
-	gem_require_ring(fd, ring_id);
-
-	time = nop_on_ring(fd, handle, ring_id, 20, &count);
+	time = nop_on_ring(fd, handle, e, 20, &count);
 	igt_info("%s: %'lu cycles: %.3fus\n",
-		 ring_name, count, time*1e6 / count);
+		  e->name, count, time*1e6 / count);
 }
 
 static double
-stable_nop_on_ring(int fd, uint32_t handle, unsigned int engine,
-		   int timeout, int reps)
+stable_nop_on_ring(int fd, uint32_t handle,
+		   const struct intel_execution_engine2 *e, int timeout,
+		   int reps)
 {
 	igt_stats_t s;
 	double n;
@@ -372,7 +374,7 @@ stable_nop_on_ring(int fd, uint32_t handle, unsigned int engine,
 		unsigned long count;
 		double time;
 
-		time = nop_on_ring(fd, handle, engine, timeout, &count);
+		time = nop_on_ring(fd, handle, e, timeout, &count);
 		igt_stats_push_float(&s, time / count);
 	}
 
@@ -388,7 +390,8 @@ stable_nop_on_ring(int fd, uint32_t handle, unsigned int engine,
                      "'%s' != '%s' (%f not within %f%% tolerance of %f)\n",\
                      #x, #ref, x, tolerance * 100.0, ref)
 
-static void headless(int fd, uint32_t handle)
+static void headless(int fd, uint32_t handle,
+		     const struct intel_execution_engine2 *e)
 {
 	unsigned int nr_connected = 0;
 	drmModeConnector *connector;
@@ -411,7 +414,7 @@ static void headless(int fd, uint32_t handle)
 	kmstest_set_vt_graphics_mode();
 
 	/* benchmark nops */
-	n_display = stable_nop_on_ring(fd, handle, I915_EXEC_DEFAULT, 1, 5);
+	n_display = stable_nop_on_ring(fd, handle, e, 1, 5);
 	igt_info("With one display connected: %.2fus\n",
 		 n_display * 1e6);
 
@@ -419,7 +422,7 @@ static void headless(int fd, uint32_t handle)
 	kmstest_unset_all_crtcs(fd, res);
 
 	/* benchmark nops again */
-	n_headless = stable_nop_on_ring(fd, handle, I915_EXEC_DEFAULT, 1, 5);
+	n_headless = stable_nop_on_ring(fd, handle, e, 1, 5);
 	igt_info("Without a display connected (headless): %.2fus\n",
 		 n_headless * 1e6);
 
@@ -429,6 +432,7 @@ static void headless(int fd, uint32_t handle)
 
 static void parallel(int fd, uint32_t handle, int timeout)
 {
+	const struct intel_execution_engine2 *e;
 	struct drm_i915_gem_execbuffer2 execbuf;
 	struct drm_i915_gem_exec_object2 obj;
 	unsigned engines[16];
@@ -439,12 +443,11 @@ static void parallel(int fd, uint32_t handle, int timeout)
 
 	sum = 0;
 	nengine = 0;
-	for_each_physical_engine(e, fd) {
-		engines[nengine] = eb_ring(e);
-		names[nengine] = e->name;
-		nengine++;
+	__for_each_physical_engine(fd, e) {
+		engines[nengine] = e->flags;
+		names[nengine++] = e->name;
 
-		time = nop_on_ring(fd, handle, eb_ring(e), 1, &count) / count;
+		time = nop_on_ring(fd, handle, e, 1, &count) / count;
 		sum += time;
 		igt_debug("%s: %.3fus\n", e->name, 1e6*time);
 	}
@@ -490,6 +493,7 @@ static void parallel(int fd, uint32_t handle, int timeout)
 
 static void series(int fd, uint32_t handle, int timeout)
 {
+	const struct intel_execution_engine2 *e;
 	struct drm_i915_gem_execbuffer2 execbuf;
 	struct drm_i915_gem_exec_object2 obj;
 	struct timespec start, now, sync;
@@ -500,8 +504,8 @@ static void series(int fd, uint32_t handle, int timeout)
 	const char *name;
 
 	nengine = 0;
-	for_each_physical_engine(e, fd) {
-		time = nop_on_ring(fd, handle, eb_ring(e), 1, &count) / count;
+	__for_each_physical_engine(fd, e) {
+		time = nop_on_ring(fd, handle, e, 1, &count) / count;
 		if (time > max) {
 			name = e->name;
 			max = time;
@@ -509,7 +513,7 @@ static void series(int fd, uint32_t handle, int timeout)
 		if (time < min)
 			min = time;
 		sum += time;
-		engines[nengine++] = eb_ring(e);
+		engines[nengine++] = e->flags;
 	}
 	igt_require(nengine);
 	igt_info("Maximum execution latency on %s, %.3fus, min %.3fus, total %.3fus per cycle, average %.3fus\n",
@@ -580,6 +584,7 @@ static void xchg(void *array, unsigned i, unsigned j)
 static void sequential(int fd, uint32_t handle, unsigned flags, int timeout)
 {
 	const int ncpus = flags & FORKED ? sysconf(_SC_NPROCESSORS_ONLN) : 1;
+	const struct intel_execution_engine2 *e;
 	struct drm_i915_gem_execbuffer2 execbuf;
 	struct drm_i915_gem_exec_object2 obj[2];
 	unsigned engines[16];
@@ -595,14 +600,14 @@ static void sequential(int fd, uint32_t handle, unsigned flags, int timeout)
 
 	nengine = 0;
 	sum = 0;
-	for_each_physical_engine(e, fd) {
+	__for_each_physical_engine(fd, e) {
 		unsigned long count;
 
-		time = nop_on_ring(fd, handle, eb_ring(e), 1, &count) / count;
+		time = nop_on_ring(fd, handle, e, 1, &count) / count;
 		sum += time;
 		igt_debug("%s: %.3fus\n", e->name, 1e6*time);
 
-		engines[nengine++] = eb_ring(e);
+		engines[nengine++] = e->flags;
 	}
 	igt_require(nengine);
 	igt_info("Total (individual) execution latency %.3fus per cycle\n",
@@ -625,6 +630,7 @@ static void sequential(int fd, uint32_t handle, unsigned flags, int timeout)
 
 		igt_require(__gem_context_create(fd, &id) == 0);
 		execbuf.rsvd1 = id;
+		gem_context_set_all_engines(fd, execbuf.rsvd1);
 	}
 
 	for (n = 0; n < nengine; n++) {
@@ -642,8 +648,10 @@ static void sequential(int fd, uint32_t handle, unsigned flags, int timeout)
 		obj[0].handle = gem_create(fd, 4096);
 		gem_execbuf(fd, &execbuf);
 
-		if (flags & CONTEXT)
+		if (flags & CONTEXT) {
 			execbuf.rsvd1 = gem_context_create(fd);
+			gem_context_set_all_engines(fd, execbuf.rsvd1);
+		}
 
 		hars_petruska_f54_1_random_perturb(child);
 
@@ -716,6 +724,7 @@ static void fence_signal(int fd, uint32_t handle,
 #define NFENCES 512
 	struct drm_i915_gem_execbuffer2 execbuf;
 	struct drm_i915_gem_exec_object2 obj;
+	struct intel_execution_engine2 *__e;
 	struct timespec start, now;
 	unsigned engines[16];
 	unsigned nengine;
@@ -726,8 +735,8 @@ static void fence_signal(int fd, uint32_t handle,
 
 	nengine = 0;
 	if (ring_id == ALL_ENGINES) {
-		for_each_physical_engine(e, fd)
-			engines[nengine++] = eb_ring(e);
+		__for_each_physical_engine(fd, __e)
+			engines[nengine++] = __e->flags;
 	} else {
 		gem_require_ring(fd, ring_id);
 		engines[nengine++] = ring_id;
@@ -787,7 +796,7 @@ static void fence_signal(int fd, uint32_t handle,
 }
 
 static void preempt(int fd, uint32_t handle,
-		   unsigned ring_id, const char *ring_name)
+		    const struct intel_execution_engine2 *e)
 {
 	struct drm_i915_gem_execbuffer2 execbuf;
 	struct drm_i915_gem_exec_object2 obj;
@@ -795,8 +804,6 @@ static void preempt(int fd, uint32_t handle,
 	unsigned long count;
 	uint32_t ctx[2];
 
-	gem_require_ring(fd, ring_id);
-
 	ctx[0] = gem_context_create(fd);
 	gem_context_set_priority(fd, ctx[0], MIN_PRIO);
 
@@ -809,11 +816,11 @@ static void preempt(int fd, uint32_t handle,
 	memset(&execbuf, 0, sizeof(execbuf));
 	execbuf.buffers_ptr = to_user_pointer(&obj);
 	execbuf.buffer_count = 1;
-	execbuf.flags = ring_id;
+	execbuf.flags = e->flags;
 	execbuf.flags |= LOCAL_I915_EXEC_HANDLE_LUT;
 	execbuf.flags |= LOCAL_I915_EXEC_NO_RELOC;
 	if (__gem_execbuf(fd, &execbuf)) {
-		execbuf.flags = ring_id;
+		execbuf.flags = e->flags;
 		gem_execbuf(fd, &execbuf);
 	}
 	execbuf.rsvd1 = ctx[1];
@@ -825,7 +832,7 @@ static void preempt(int fd, uint32_t handle,
 		igt_spin_t *spin =
 			__igt_spin_new(fd,
 				       .ctx = ctx[0],
-				       .engine = ring_id);
+				       .engine = e->flags);
 
 		for (int loop = 0; loop < 1024; loop++)
 			gem_execbuf(fd, &execbuf);
@@ -841,12 +848,12 @@ static void preempt(int fd, uint32_t handle,
 	gem_context_destroy(fd, ctx[0]);
 
 	igt_info("%s: %'lu cycles: %.3fus\n",
-		 ring_name, count, elapsed(&start, &now)*1e6 / count);
+		 e->name, count, elapsed(&start, &now)*1e6 / count);
 }
 
 igt_main
 {
-	const struct intel_execution_engine *e;
+	const struct intel_execution_engine2 *e;
 	uint32_t handle = 0;
 	int device = -1;
 
@@ -873,11 +880,19 @@ igt_main
 	igt_subtest("basic-sequential")
 		sequential(device, handle, 0, 5);
 
-	for (e = intel_execution_engines; e->name; e++) {
-		igt_subtest_f("%s", e->name)
-			single(device, handle, eb_ring(e), e->name);
-		igt_subtest_f("signal-%s", e->name)
-			fence_signal(device, handle, eb_ring(e), e->name, 5);
+	igt_subtest_with_dynamic("single") {
+		__for_each_physical_engine(device, e) {
+			igt_dynamic_f("%s", e->name)
+				single(device, handle, e);
+		}
+	}
+
+	igt_subtest_with_dynamic("signal") {
+		__for_each_physical_engine(device, e) {
+			igt_dynamic_f("%s", e->name)
+				fence_signal(device, handle, e->flags,
+					     e->name, 5);
+		}
 	}
 
 	igt_subtest("signal-all")
@@ -907,10 +922,11 @@ igt_main
 			igt_require(gem_scheduler_has_ctx_priority(device));
 			igt_require(gem_scheduler_has_preemption(device));
 		}
-
-		for (e = intel_execution_engines; e->name; e++) {
-			igt_subtest_f("preempt-%s", e->name)
-				preempt(device, handle, eb_ring(e), e->name);
+		igt_subtest_with_dynamic("preempt") {
+			__for_each_physical_engine(device, e) {
+				igt_dynamic_f("%s", e->name)
+					preempt(device, handle, e);
+			}
 		}
 	}
 
@@ -919,19 +935,25 @@ igt_main
 			igt_device_set_master(device);
 		}
 
-		for (e = intel_execution_engines; e->name; e++) {
-			/* Requires master for STORE_DWORD on gen4/5 */
-			igt_subtest_f("poll-%s", e->name)
-				poll_ring(device, eb_ring(e), e->name, 20);
+		igt_subtest_with_dynamic("poll") {
+			__for_each_physical_engine(device, e) {
+				/* Requires master for STORE_DWORD on gen4/5 */
+				igt_dynamic_f("%s", e->name)
+					poll_ring(device, e, 20);
+			}
+		}
+
+		igt_subtest_with_dynamic("headless") {
+			__for_each_physical_engine(device, e) {
+				igt_dynamic_f("%s", e->name)
+				/* Requires master for changing display modes */
+					headless(device, handle, e);
+			}
 		}
 
 		igt_subtest("poll-sequential")
 			poll_sequential(device, "Sequential", 20);
 
-		igt_subtest("headless") {
-			/* Requires master for changing display modes */
-			headless(device, handle);
-		}
 	}
 
 	igt_fixture {
-- 
2.24.0

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

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

* [igt-dev] ✗ Fi.CI.BAT: failure for i915/gem_exec_nop:Adjusted test to utilize all available engines (rev3)
  2020-01-22 17:41 [igt-dev] [PATCH V3] i915/gem_exec_nop:Adjusted test to utilize all available engines Arjun Melkaveri
@ 2020-01-22 20:36 ` Patchwork
  2020-01-23  8:27 ` [igt-dev] [PATCH V3] i915/gem_exec_nop:Adjusted test to utilize all available engines Tvrtko Ursulin
  2020-01-23 13:51 ` [igt-dev] ✗ GitLab.Pipeline: warning for i915/gem_exec_nop:Adjusted test to utilize all available engines (rev3) Patchwork
  2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2020-01-22 20:36 UTC (permalink / raw)
  To: Arjun Melkaveri; +Cc: igt-dev

== Series Details ==

Series: i915/gem_exec_nop:Adjusted test to utilize all available engines (rev3)
URL   : https://patchwork.freedesktop.org/series/72334/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_7797 -> IGTPW_3971
====================================================

Summary
-------

  **FAILURE**

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

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3971/index.html

Possible new issues
-------------------

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

### IGT changes ###

#### Possible regressions ####

  * igt@gem_exec_parallel@contexts:
    - fi-byt-j1900:       NOTRUN -> [FAIL][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3971/fi-byt-j1900/igt@gem_exec_parallel@contexts.html

  * igt@kms_cursor_legacy@basic-flip-after-cursor-atomic:
    - fi-tgl-y:           NOTRUN -> [SKIP][2] +29 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3971/fi-tgl-y/igt@kms_cursor_legacy@basic-flip-after-cursor-atomic.html

  
Known issues
------------

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_close_race@basic-threads:
    - fi-byt-n2820:       [PASS][3] -> [INCOMPLETE][4] ([i915#45])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7797/fi-byt-n2820/igt@gem_close_race@basic-threads.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3971/fi-byt-n2820/igt@gem_close_race@basic-threads.html

  * igt@gem_exec_suspend@basic-s3:
    - fi-cml-s:           [PASS][5] -> [INCOMPLETE][6] ([i915#283])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7797/fi-cml-s/igt@gem_exec_suspend@basic-s3.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3971/fi-cml-s/igt@gem_exec_suspend@basic-s3.html

  * igt@i915_module_load@reload-with-fault-injection:
    - fi-cfl-8700k:       [PASS][7] -> [INCOMPLETE][8] ([i915#505])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7797/fi-cfl-8700k/igt@i915_module_load@reload-with-fault-injection.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3971/fi-cfl-8700k/igt@i915_module_load@reload-with-fault-injection.html

  * igt@i915_selftest@live_gt_heartbeat:
    - fi-skl-guc:         [PASS][9] -> [DMESG-FAIL][10] ([fdo#112406])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7797/fi-skl-guc/igt@i915_selftest@live_gt_heartbeat.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3971/fi-skl-guc/igt@i915_selftest@live_gt_heartbeat.html

  
#### Possible fixes ####

  * igt@gem_close_race@basic-threads:
    - fi-byt-j1900:       [INCOMPLETE][11] ([i915#45]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7797/fi-byt-j1900/igt@gem_close_race@basic-threads.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3971/fi-byt-j1900/igt@gem_close_race@basic-threads.html

  * igt@i915_selftest@live_blt:
    - fi-hsw-4770:        [DMESG-FAIL][13] ([i915#725]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7797/fi-hsw-4770/igt@i915_selftest@live_blt.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3971/fi-hsw-4770/igt@i915_selftest@live_blt.html

  * igt@kms_frontbuffer_tracking@basic:
    - fi-hsw-peppy:       [DMESG-WARN][15] ([i915#44]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7797/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3971/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html

  
  [fdo#112406]: https://bugs.freedesktop.org/show_bug.cgi?id=112406
  [i915#283]: https://gitlab.freedesktop.org/drm/intel/issues/283
  [i915#44]: https://gitlab.freedesktop.org/drm/intel/issues/44
  [i915#45]: https://gitlab.freedesktop.org/drm/intel/issues/45
  [i915#505]: https://gitlab.freedesktop.org/drm/intel/issues/505
  [i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725


Participating hosts (51 -> 45)
------------------------------

  Additional (2): fi-kbl-soraka fi-tgl-y 
  Missing    (8): fi-cml-u2 fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_5377 -> IGTPW_3971

  CI-20190529: 20190529
  CI_DRM_7797: c6751dc645f51c3058592c615770ecefd9899672 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_3971: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3971/index.html
  IGT_5377: 1e6cb3e75925cf623df04f78430ae9299632ec3f @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+igt@gem_exec_nop@poll
+igt@gem_exec_nop@preempt
+igt@gem_exec_nop@signal
+igt@gem_exec_nop@single
-igt@gem_exec_nop@blt
-igt@gem_exec_nop@bsd
-igt@gem_exec_nop@bsd1
-igt@gem_exec_nop@bsd2
-igt@gem_exec_nop@default
-igt@gem_exec_nop@poll-blt
-igt@gem_exec_nop@poll-bsd
-igt@gem_exec_nop@poll-bsd1
-igt@gem_exec_nop@poll-bsd2
-igt@gem_exec_nop@poll-default
-igt@gem_exec_nop@poll-render
-igt@gem_exec_nop@poll-vebox
-igt@gem_exec_nop@preempt-blt
-igt@gem_exec_nop@preempt-bsd
-igt@gem_exec_nop@preempt-bsd1
-igt@gem_exec_nop@preempt-bsd2
-igt@gem_exec_nop@preempt-default
-igt@gem_exec_nop@preempt-render
-igt@gem_exec_nop@preempt-vebox
-igt@gem_exec_nop@render
-igt@gem_exec_nop@signal-blt
-igt@gem_exec_nop@signal-bsd
-igt@gem_exec_nop@signal-bsd1
-igt@gem_exec_nop@signal-bsd2
-igt@gem_exec_nop@signal-default
-igt@gem_exec_nop@signal-render
-igt@gem_exec_nop@signal-vebox
-igt@gem_exec_nop@vebox

== Logs ==

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

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

* Re: [igt-dev] [PATCH V3] i915/gem_exec_nop:Adjusted test to utilize all available engines
  2020-01-22 17:41 [igt-dev] [PATCH V3] i915/gem_exec_nop:Adjusted test to utilize all available engines Arjun Melkaveri
  2020-01-22 20:36 ` [igt-dev] ✗ Fi.CI.BAT: failure for i915/gem_exec_nop:Adjusted test to utilize all available engines (rev3) Patchwork
@ 2020-01-23  8:27 ` Tvrtko Ursulin
  2020-01-23 13:51 ` [igt-dev] ✗ GitLab.Pipeline: warning for i915/gem_exec_nop:Adjusted test to utilize all available engines (rev3) Patchwork
  2 siblings, 0 replies; 4+ messages in thread
From: Tvrtko Ursulin @ 2020-01-23  8:27 UTC (permalink / raw)
  To: Arjun Melkaveri, igt-dev


On 22/01/2020 17:41, Arjun Melkaveri wrote:
> Added __for_each_physical_engine to utilize all available engines.
> Moved single, signal, preempt, poll and headless test cases
> from static to dynamic group.
> 
> Cc: Dec Katarzyna <katarzyna.dec@intel.com>
> Cc: Kempczynski Zbigniew <zbigniew.kempczynski@intel.com>
> Cc: Tahvanainen Jari <jari.tahvanainen@intel.com>
> Cc: Ursulin Tvrtko <tvrtko.ursulin@intel.com>
> Signed-off-by: Arjun Melkaveri <arjun.melkaveri@intel.com>
> ---
> V1 -> V2
> 
> Addressed Tvrtko review comments
> 1) removed gem_require_ring
> 2) replaced gem_can_store_dword with gem_class_can_store_dword
> 3) Fixed WhiteSpace issues.
> ---
> V2 -> V3
> 
> Added back missing code. i.e. MIN_PRIO
> ---
>   tests/i915/gem_exec_nop.c | 150 ++++++++++++++++++++++----------------
>   1 file changed, 86 insertions(+), 64 deletions(-)
> 
> diff --git a/tests/i915/gem_exec_nop.c b/tests/i915/gem_exec_nop.c
> index dbedb356..7ab94f9f 100644
> --- a/tests/i915/gem_exec_nop.c
> +++ b/tests/i915/gem_exec_nop.c
> @@ -66,8 +66,9 @@ static double elapsed(const struct timespec *start, const struct timespec *end)
>   		(end->tv_nsec - start->tv_nsec)*1e-9);
>   }
>   
> -static double nop_on_ring(int fd, uint32_t handle, unsigned ring_id,
> -			  int timeout, unsigned long *out)
> +static double nop_on_ring(int fd, uint32_t handle,
> +			  const struct intel_execution_engine2 *e, int timeout,
> +			  unsigned long *out)
>   {
>   	struct drm_i915_gem_execbuffer2 execbuf;
>   	struct drm_i915_gem_exec_object2 obj;
> @@ -80,11 +81,11 @@ static double nop_on_ring(int fd, uint32_t handle, unsigned ring_id,
>   	memset(&execbuf, 0, sizeof(execbuf));
>   	execbuf.buffers_ptr = to_user_pointer(&obj);
>   	execbuf.buffer_count = 1;
> -	execbuf.flags = ring_id;
> +	execbuf.flags = e->flags;
>   	execbuf.flags |= LOCAL_I915_EXEC_HANDLE_LUT;
>   	execbuf.flags |= LOCAL_I915_EXEC_NO_RELOC;
>   	if (__gem_execbuf(fd, &execbuf)) {
> -		execbuf.flags = ring_id;
> +		execbuf.flags = e->flags;
>   		gem_execbuf(fd, &execbuf);
>   	}
>   	intel_detect_and_clear_missed_interrupts(fd);
> @@ -104,7 +105,8 @@ static double nop_on_ring(int fd, uint32_t handle, unsigned ring_id,
>   	return elapsed(&start, &now);
>   }
>   
> -static void poll_ring(int fd, unsigned engine, const char *name, int timeout)
> +static void poll_ring(int fd, const struct intel_execution_engine2 *e,
> +		      int timeout)
>   {
>   	const int gen = intel_gen(intel_get_drm_devid(fd));
>   	const uint32_t MI_ARB_CHK = 0x5 << 23;
> @@ -121,9 +123,8 @@ static void poll_ring(int fd, unsigned engine, const char *name, int timeout)
>   	if (gen == 4 || gen == 5)
>   		flags |= I915_EXEC_SECURE;
>   
> -	gem_require_ring(fd, engine);
> -	igt_require(gem_can_store_dword(fd, engine));
> -	igt_require(gem_engine_has_mutable_submission(fd, engine));
> +	igt_require(gem_class_can_store_dword(fd, e->class));
> +	igt_require(gem_class_has_mutable_submission(fd, e->class));
>   
>   	memset(&obj, 0, sizeof(obj));
>   	obj.handle = gem_create(fd, 4096);
> @@ -187,7 +188,7 @@ static void poll_ring(int fd, unsigned engine, const char *name, int timeout)
>   	memset(&execbuf, 0, sizeof(execbuf));
>   	execbuf.buffers_ptr = to_user_pointer(&obj);
>   	execbuf.buffer_count = 1;
> -	execbuf.flags = engine | flags;
> +	execbuf.flags = e->flags | flags;
>   
>   	cycles = 0;
>   	do {
> @@ -209,7 +210,7 @@ static void poll_ring(int fd, unsigned engine, const char *name, int timeout)
>   	gem_sync(fd, obj.handle);
>   
>   	igt_info("%s completed %ld cycles: %.3f us\n",
> -		 name, cycles, elapsed*1e-3/cycles);
> +		 e->name, cycles, elapsed*1e-3/cycles);
>   
>   	munmap(batch, 4096);
>   	gem_close(fd, obj.handle);
> @@ -218,6 +219,7 @@ static void poll_ring(int fd, unsigned engine, const char *name, int timeout)
>   static void poll_sequential(int fd, const char *name, int timeout)
>   {
>   	const int gen = intel_gen(intel_get_drm_devid(fd));
> +	const struct intel_execution_engine2 *e;
>   	const uint32_t MI_ARB_CHK = 0x5 << 23;
>   	struct drm_i915_gem_execbuffer2 execbuf;
>   	struct drm_i915_gem_exec_object2 obj[2];
> @@ -234,13 +236,14 @@ static void poll_sequential(int fd, const char *name, int timeout)
>   		flags |= I915_EXEC_SECURE;
>   
>   	nengine = 0;
> -	for_each_physical_engine(e, fd) {
> -		if (!gem_can_store_dword(fd, eb_ring(e)) ||
> -		    !gem_engine_has_mutable_submission(fd, eb_ring(e)))
> +	__for_each_physical_engine(fd, e) {
> +		if (!gem_class_can_store_dword(fd, e->class) ||
> +		    !gem_class_has_mutable_submission(fd, e->class))
>   			continue;
>   
> -		engines[nengine++] = eb_ring(e);
> +		engines[nengine++] = e->flags;
>   	}
> +
>   	igt_require(nengine);
>   
>   	memset(obj, 0, sizeof(obj));
> @@ -344,21 +347,20 @@ static void poll_sequential(int fd, const char *name, int timeout)
>   }
>   
>   static void single(int fd, uint32_t handle,
> -		   unsigned ring_id, const char *ring_name)
> +		   const struct intel_execution_engine2 *e)
>   {
>   	double time;
>   	unsigned long count;
>   
> -	gem_require_ring(fd, ring_id);
> -
> -	time = nop_on_ring(fd, handle, ring_id, 20, &count);
> +	time = nop_on_ring(fd, handle, e, 20, &count);
>   	igt_info("%s: %'lu cycles: %.3fus\n",
> -		 ring_name, count, time*1e6 / count);
> +		  e->name, count, time*1e6 / count);
>   }
>   
>   static double
> -stable_nop_on_ring(int fd, uint32_t handle, unsigned int engine,
> -		   int timeout, int reps)
> +stable_nop_on_ring(int fd, uint32_t handle,
> +		   const struct intel_execution_engine2 *e, int timeout,
> +		   int reps)
>   {
>   	igt_stats_t s;
>   	double n;
> @@ -372,7 +374,7 @@ stable_nop_on_ring(int fd, uint32_t handle, unsigned int engine,
>   		unsigned long count;
>   		double time;
>   
> -		time = nop_on_ring(fd, handle, engine, timeout, &count);
> +		time = nop_on_ring(fd, handle, e, timeout, &count);
>   		igt_stats_push_float(&s, time / count);
>   	}
>   
> @@ -388,7 +390,8 @@ stable_nop_on_ring(int fd, uint32_t handle, unsigned int engine,
>                        "'%s' != '%s' (%f not within %f%% tolerance of %f)\n",\
>                        #x, #ref, x, tolerance * 100.0, ref)
>   
> -static void headless(int fd, uint32_t handle)
> +static void headless(int fd, uint32_t handle,
> +		     const struct intel_execution_engine2 *e)
>   {
>   	unsigned int nr_connected = 0;
>   	drmModeConnector *connector;
> @@ -411,7 +414,7 @@ static void headless(int fd, uint32_t handle)
>   	kmstest_set_vt_graphics_mode();
>   
>   	/* benchmark nops */
> -	n_display = stable_nop_on_ring(fd, handle, I915_EXEC_DEFAULT, 1, 5);
> +	n_display = stable_nop_on_ring(fd, handle, e, 1, 5);
>   	igt_info("With one display connected: %.2fus\n",
>   		 n_display * 1e6);
>   
> @@ -419,7 +422,7 @@ static void headless(int fd, uint32_t handle)
>   	kmstest_unset_all_crtcs(fd, res);
>   
>   	/* benchmark nops again */
> -	n_headless = stable_nop_on_ring(fd, handle, I915_EXEC_DEFAULT, 1, 5);
> +	n_headless = stable_nop_on_ring(fd, handle, e, 1, 5);
>   	igt_info("Without a display connected (headless): %.2fus\n",
>   		 n_headless * 1e6);
>   
> @@ -429,6 +432,7 @@ static void headless(int fd, uint32_t handle)
>   
>   static void parallel(int fd, uint32_t handle, int timeout)
>   {
> +	const struct intel_execution_engine2 *e;
>   	struct drm_i915_gem_execbuffer2 execbuf;
>   	struct drm_i915_gem_exec_object2 obj;
>   	unsigned engines[16];
> @@ -439,12 +443,11 @@ static void parallel(int fd, uint32_t handle, int timeout)
>   
>   	sum = 0;
>   	nengine = 0;
> -	for_each_physical_engine(e, fd) {
> -		engines[nengine] = eb_ring(e);
> -		names[nengine] = e->name;
> -		nengine++;
> +	__for_each_physical_engine(fd, e) {
> +		engines[nengine] = e->flags;
> +		names[nengine++] = e->name;
>   
> -		time = nop_on_ring(fd, handle, eb_ring(e), 1, &count) / count;
> +		time = nop_on_ring(fd, handle, e, 1, &count) / count;
>   		sum += time;
>   		igt_debug("%s: %.3fus\n", e->name, 1e6*time);
>   	}
> @@ -490,6 +493,7 @@ static void parallel(int fd, uint32_t handle, int timeout)
>   
>   static void series(int fd, uint32_t handle, int timeout)
>   {
> +	const struct intel_execution_engine2 *e;
>   	struct drm_i915_gem_execbuffer2 execbuf;
>   	struct drm_i915_gem_exec_object2 obj;
>   	struct timespec start, now, sync;
> @@ -500,8 +504,8 @@ static void series(int fd, uint32_t handle, int timeout)
>   	const char *name;
>   
>   	nengine = 0;
> -	for_each_physical_engine(e, fd) {
> -		time = nop_on_ring(fd, handle, eb_ring(e), 1, &count) / count;
> +	__for_each_physical_engine(fd, e) {
> +		time = nop_on_ring(fd, handle, e, 1, &count) / count;
>   		if (time > max) {
>   			name = e->name;
>   			max = time;
> @@ -509,7 +513,7 @@ static void series(int fd, uint32_t handle, int timeout)
>   		if (time < min)
>   			min = time;
>   		sum += time;
> -		engines[nengine++] = eb_ring(e);
> +		engines[nengine++] = e->flags;
>   	}
>   	igt_require(nengine);
>   	igt_info("Maximum execution latency on %s, %.3fus, min %.3fus, total %.3fus per cycle, average %.3fus\n",
> @@ -580,6 +584,7 @@ static void xchg(void *array, unsigned i, unsigned j)
>   static void sequential(int fd, uint32_t handle, unsigned flags, int timeout)
>   {
>   	const int ncpus = flags & FORKED ? sysconf(_SC_NPROCESSORS_ONLN) : 1;
> +	const struct intel_execution_engine2 *e;
>   	struct drm_i915_gem_execbuffer2 execbuf;
>   	struct drm_i915_gem_exec_object2 obj[2];
>   	unsigned engines[16];
> @@ -595,14 +600,14 @@ static void sequential(int fd, uint32_t handle, unsigned flags, int timeout)
>   
>   	nengine = 0;
>   	sum = 0;
> -	for_each_physical_engine(e, fd) {
> +	__for_each_physical_engine(fd, e) {
>   		unsigned long count;
>   
> -		time = nop_on_ring(fd, handle, eb_ring(e), 1, &count) / count;
> +		time = nop_on_ring(fd, handle, e, 1, &count) / count;
>   		sum += time;
>   		igt_debug("%s: %.3fus\n", e->name, 1e6*time);
>   
> -		engines[nengine++] = eb_ring(e);
> +		engines[nengine++] = e->flags;
>   	}
>   	igt_require(nengine);
>   	igt_info("Total (individual) execution latency %.3fus per cycle\n",
> @@ -625,6 +630,7 @@ static void sequential(int fd, uint32_t handle, unsigned flags, int timeout)
>   
>   		igt_require(__gem_context_create(fd, &id) == 0);
>   		execbuf.rsvd1 = id;
> +		gem_context_set_all_engines(fd, execbuf.rsvd1);
>   	}
>   
>   	for (n = 0; n < nengine; n++) {
> @@ -642,8 +648,10 @@ static void sequential(int fd, uint32_t handle, unsigned flags, int timeout)
>   		obj[0].handle = gem_create(fd, 4096);
>   		gem_execbuf(fd, &execbuf);
>   
> -		if (flags & CONTEXT)
> +		if (flags & CONTEXT) {
>   			execbuf.rsvd1 = gem_context_create(fd);
> +			gem_context_set_all_engines(fd, execbuf.rsvd1);
> +		}
>   
>   		hars_petruska_f54_1_random_perturb(child);
>   
> @@ -716,6 +724,7 @@ static void fence_signal(int fd, uint32_t handle,
>   #define NFENCES 512
>   	struct drm_i915_gem_execbuffer2 execbuf;
>   	struct drm_i915_gem_exec_object2 obj;
> +	struct intel_execution_engine2 *__e;
>   	struct timespec start, now;
>   	unsigned engines[16];
>   	unsigned nengine;
> @@ -726,8 +735,8 @@ static void fence_signal(int fd, uint32_t handle,
>   
>   	nengine = 0;
>   	if (ring_id == ALL_ENGINES) {
> -		for_each_physical_engine(e, fd)
> -			engines[nengine++] = eb_ring(e);
> +		__for_each_physical_engine(fd, __e)
> +			engines[nengine++] = __e->flags;
>   	} else {
>   		gem_require_ring(fd, ring_id);
>   		engines[nengine++] = ring_id;
> @@ -787,7 +796,7 @@ static void fence_signal(int fd, uint32_t handle,
>   }
>   
>   static void preempt(int fd, uint32_t handle,
> -		   unsigned ring_id, const char *ring_name)
> +		    const struct intel_execution_engine2 *e)
>   {
>   	struct drm_i915_gem_execbuffer2 execbuf;
>   	struct drm_i915_gem_exec_object2 obj;
> @@ -795,8 +804,6 @@ static void preempt(int fd, uint32_t handle,
>   	unsigned long count;
>   	uint32_t ctx[2];
>   
> -	gem_require_ring(fd, ring_id);
> -
>   	ctx[0] = gem_context_create(fd);
>   	gem_context_set_priority(fd, ctx[0], MIN_PRIO);

AFAICS now you dropped gem_context_set_all_engines from the new contexts 
created in this test, which is incorrect.

Regards,

Tvrtko

>   
> @@ -809,11 +816,11 @@ static void preempt(int fd, uint32_t handle,
>   	memset(&execbuf, 0, sizeof(execbuf));
>   	execbuf.buffers_ptr = to_user_pointer(&obj);
>   	execbuf.buffer_count = 1;
> -	execbuf.flags = ring_id;
> +	execbuf.flags = e->flags;
>   	execbuf.flags |= LOCAL_I915_EXEC_HANDLE_LUT;
>   	execbuf.flags |= LOCAL_I915_EXEC_NO_RELOC;
>   	if (__gem_execbuf(fd, &execbuf)) {
> -		execbuf.flags = ring_id;
> +		execbuf.flags = e->flags;
>   		gem_execbuf(fd, &execbuf);
>   	}
>   	execbuf.rsvd1 = ctx[1];
> @@ -825,7 +832,7 @@ static void preempt(int fd, uint32_t handle,
>   		igt_spin_t *spin =
>   			__igt_spin_new(fd,
>   				       .ctx = ctx[0],
> -				       .engine = ring_id);
> +				       .engine = e->flags);
>   
>   		for (int loop = 0; loop < 1024; loop++)
>   			gem_execbuf(fd, &execbuf);
> @@ -841,12 +848,12 @@ static void preempt(int fd, uint32_t handle,
>   	gem_context_destroy(fd, ctx[0]);
>   
>   	igt_info("%s: %'lu cycles: %.3fus\n",
> -		 ring_name, count, elapsed(&start, &now)*1e6 / count);
> +		 e->name, count, elapsed(&start, &now)*1e6 / count);
>   }
>   
>   igt_main
>   {
> -	const struct intel_execution_engine *e;
> +	const struct intel_execution_engine2 *e;
>   	uint32_t handle = 0;
>   	int device = -1;
>   
> @@ -873,11 +880,19 @@ igt_main
>   	igt_subtest("basic-sequential")
>   		sequential(device, handle, 0, 5);
>   
> -	for (e = intel_execution_engines; e->name; e++) {
> -		igt_subtest_f("%s", e->name)
> -			single(device, handle, eb_ring(e), e->name);
> -		igt_subtest_f("signal-%s", e->name)
> -			fence_signal(device, handle, eb_ring(e), e->name, 5);
> +	igt_subtest_with_dynamic("single") {
> +		__for_each_physical_engine(device, e) {
> +			igt_dynamic_f("%s", e->name)
> +				single(device, handle, e);
> +		}
> +	}
> +
> +	igt_subtest_with_dynamic("signal") {
> +		__for_each_physical_engine(device, e) {
> +			igt_dynamic_f("%s", e->name)
> +				fence_signal(device, handle, e->flags,
> +					     e->name, 5);
> +		}
>   	}
>   
>   	igt_subtest("signal-all")
> @@ -907,10 +922,11 @@ igt_main
>   			igt_require(gem_scheduler_has_ctx_priority(device));
>   			igt_require(gem_scheduler_has_preemption(device));
>   		}
> -
> -		for (e = intel_execution_engines; e->name; e++) {
> -			igt_subtest_f("preempt-%s", e->name)
> -				preempt(device, handle, eb_ring(e), e->name);
> +		igt_subtest_with_dynamic("preempt") {
> +			__for_each_physical_engine(device, e) {
> +				igt_dynamic_f("%s", e->name)
> +					preempt(device, handle, e);
> +			}
>   		}
>   	}
>   
> @@ -919,19 +935,25 @@ igt_main
>   			igt_device_set_master(device);
>   		}
>   
> -		for (e = intel_execution_engines; e->name; e++) {
> -			/* Requires master for STORE_DWORD on gen4/5 */
> -			igt_subtest_f("poll-%s", e->name)
> -				poll_ring(device, eb_ring(e), e->name, 20);
> +		igt_subtest_with_dynamic("poll") {
> +			__for_each_physical_engine(device, e) {
> +				/* Requires master for STORE_DWORD on gen4/5 */
> +				igt_dynamic_f("%s", e->name)
> +					poll_ring(device, e, 20);
> +			}
> +		}
> +
> +		igt_subtest_with_dynamic("headless") {
> +			__for_each_physical_engine(device, e) {
> +				igt_dynamic_f("%s", e->name)
> +				/* Requires master for changing display modes */
> +					headless(device, handle, e);
> +			}
>   		}
>   
>   		igt_subtest("poll-sequential")
>   			poll_sequential(device, "Sequential", 20);
>   
> -		igt_subtest("headless") {
> -			/* Requires master for changing display modes */
> -			headless(device, handle);
> -		}
>   	}
>   
>   	igt_fixture {
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✗ GitLab.Pipeline: warning for i915/gem_exec_nop:Adjusted test to utilize all available engines (rev3)
  2020-01-22 17:41 [igt-dev] [PATCH V3] i915/gem_exec_nop:Adjusted test to utilize all available engines Arjun Melkaveri
  2020-01-22 20:36 ` [igt-dev] ✗ Fi.CI.BAT: failure for i915/gem_exec_nop:Adjusted test to utilize all available engines (rev3) Patchwork
  2020-01-23  8:27 ` [igt-dev] [PATCH V3] i915/gem_exec_nop:Adjusted test to utilize all available engines Tvrtko Ursulin
@ 2020-01-23 13:51 ` Patchwork
  2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2020-01-23 13:51 UTC (permalink / raw)
  To: Arjun Melkaveri; +Cc: igt-dev

== Series Details ==

Series: i915/gem_exec_nop:Adjusted test to utilize all available engines (rev3)
URL   : https://patchwork.freedesktop.org/series/72334/
State : warning

== Summary ==

Did not get list of undocumented tests for this run, something is wrong!

Other than that, pipeline status: FAILED.

see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/100095 for the overview.

test:ninja-test-arm64 has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/1428323):
   #7 [main+0x30]
   #8 [__libc_start_main+0xe4]
   #9 [_start+0x34]
  qemu: uncaught target signal 6 (Aborted) - core dumped
  -------
  
  Full log written to /builds/gfx-ci/igt-ci-tags/build/meson-logs/testlog.txt
  FAILED: meson-test 
  /usr/bin/meson test --no-rebuild --print-errorlogs
  ninja: build stopped: subcommand failed.
  section_end:1579724064:build_script
  ^[[0Ksection_start:1579724064:after_script
  ^[[0Ksection_end:1579724067:after_script
  ^[[0Ksection_start:1579724067:upload_artifacts_on_failure
  ^[[0K^[[32;1mUploading artifacts...^[[0;m
  build: found 1377 matching files                  ^[[0;m 
  Uploading artifacts to coordinator... ok          ^[[0;m  id^[[0;m=1428323 responseStatus^[[0;m=201 Created token^[[0;m=TiWfb3qv
  section_end:1579724077:upload_artifacts_on_failure
  ^[[0K^[[31;1mERROR: Job failed: exit code 1
  ^[[0;m

test:ninja-test-armhf has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/1428324):
   #1 [sigset+0xf4]
   #2 [gnu_get_libc_version+0x119]
   #3 [gsignal+0x76]
  qemu: uncaught target signal 6 (Aborted) - core dumped
  -------
  
  Full log written to /builds/gfx-ci/igt-ci-tags/build/meson-logs/testlog.txt
  FAILED: meson-test 
  /usr/bin/meson test --no-rebuild --print-errorlogs
  ninja: build stopped: subcommand failed.
  section_end:1579724079:build_script
  ^[[0Ksection_start:1579724079:after_script
  ^[[0Ksection_end:1579724081:after_script
  ^[[0Ksection_start:1579724081:upload_artifacts_on_failure
  ^[[0K^[[32;1mUploading artifacts...^[[0;m
  build: found 1376 matching files                  ^[[0;m 
  Uploading artifacts to coordinator... ok          ^[[0;m  id^[[0;m=1428324 responseStatus^[[0;m=201 Created token^[[0;m=zBs-xFLm
  section_end:1579724091:upload_artifacts_on_failure
  ^[[0K^[[31;1mERROR: Job failed: exit code 1
  ^[[0;m

test:ninja-test-mips has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/1428325):
  runner_test: ../lib/igt_core.c:1952: igt_exit: Assertion `waitpid(-1, &tmp, WNOHANG) == -1 && errno == ECHILD' failed.
  Received signal SIGABRT.
  Stack trace: 
  qemu: uncaught target signal 6 (Aborted) - core dumped
  -------
  
  Full log written to /builds/gfx-ci/igt-ci-tags/build/meson-logs/testlog.txt
  FAILED: meson-test 
  /usr/bin/meson test --no-rebuild --print-errorlogs
  ninja: build stopped: subcommand failed.
  section_end:1579724068:build_script
  ^[[0Ksection_start:1579724068:after_script
  ^[[0Ksection_end:1579724070:after_script
  ^[[0Ksection_start:1579724070:upload_artifacts_on_failure
  ^[[0K^[[32;1mUploading artifacts...^[[0;m
  build: found 1377 matching files                  ^[[0;m 
  Uploading artifacts to coordinator... ok          ^[[0;m  id^[[0;m=1428325 responseStatus^[[0;m=201 Created token^[[0;m=w7hKYfhh
  section_end:1579724078:upload_artifacts_on_failure
  ^[[0K^[[31;1mERROR: Job failed: exit code 1
  ^[[0;m

test:ninja-test-armhf has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/1428331):
    [test_root]           Directory that contains the IGT tests. The environment
                          variable IGT_TEST_ROOT will be used if set, overriding
                          this option if given.
  Cannot open /builds/gfx-ci/igt-ci-tags/build/tmpdirI6x1QH/test-list.txt
  -------
  
  Full log written to /builds/gfx-ci/igt-ci-tags/build/meson-logs/testlog.txt
  FAILED: meson-test 
  /usr/bin/meson test --no-rebuild --print-errorlogs
  ninja: build stopped: subcommand failed.
  section_end:1579724493:build_script
  ^[[0Ksection_start:1579724493:after_script
  ^[[0Ksection_end:1579724494:after_script
  ^[[0Ksection_start:1579724494:upload_artifacts_on_failure
  ^[[0K^[[32;1mUploading artifacts...^[[0;m
  build: found 1375 matching files                  ^[[0;m 
  Uploading artifacts to coordinator... ok          ^[[0;m  id^[[0;m=1428331 responseStatus^[[0;m=201 Created token^[[0;m=D3469B8H
  section_end:1579724500:upload_artifacts_on_failure
  ^[[0K^[[31;1mERROR: Job failed: exit code 1
  ^[[0;m

test:ninja-test-armhf has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/1428390):
    [test_root]           Directory that contains the IGT tests. The environment
                          variable IGT_TEST_ROOT will be used if set, overriding
                          this option if given.
  Cannot open /builds/gfx-ci/igt-ci-tags/build/tmpdirLKGt44/test-list.txt
  -------
  
  Full log written to /builds/gfx-ci/igt-ci-tags/build/meson-logs/testlog.txt
  FAILED: meson-test 
  /usr/bin/meson test --no-rebuild --print-errorlogs
  ninja: build stopped: subcommand failed.
  section_end:1579724874:build_script
  ^[[0Ksection_start:1579724874:after_script
  ^[[0Ksection_end:1579724876:after_script
  ^[[0Ksection_start:1579724876:upload_artifacts_on_failure
  ^[[0K^[[32;1mUploading artifacts...^[[0;m
  build: found 1375 matching files                  ^[[0;m 
  Uploading artifacts to coordinator... ok          ^[[0;m  id^[[0;m=1428390 responseStatus^[[0;m=201 Created token^[[0;m=baA1U8kC
  section_end:1579724881:upload_artifacts_on_failure
  ^[[0K^[[31;1mERROR: Job failed: exit code 1
  ^[[0;m

== Logs ==

For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/100095
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2020-01-23 13:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-22 17:41 [igt-dev] [PATCH V3] i915/gem_exec_nop:Adjusted test to utilize all available engines Arjun Melkaveri
2020-01-22 20:36 ` [igt-dev] ✗ Fi.CI.BAT: failure for i915/gem_exec_nop:Adjusted test to utilize all available engines (rev3) Patchwork
2020-01-23  8:27 ` [igt-dev] [PATCH V3] i915/gem_exec_nop:Adjusted test to utilize all available engines Tvrtko Ursulin
2020-01-23 13:51 ` [igt-dev] ✗ GitLab.Pipeline: warning for i915/gem_exec_nop:Adjusted test to utilize all available engines (rev3) 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.