All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t v4] tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read
@ 2019-02-15  0:49 Antonio Argenziano via igt-dev
  2019-02-15  0:57 ` Chris Wilson
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Antonio Argenziano via igt-dev @ 2019-02-15  0:49 UTC (permalink / raw)
  To: igt-dev

use IOCTLs gem_read for reading and, gem_sync to wait on a batch, this
will help testing platforms that might not expose gtt mapping.

v2:
	- use a local helper for reading from BOs. (Chris)
	- Always sync before reading. (Chris)

v3:
	- Better helper naming. (Chris)
	- Start read from actual offset. (Chris)

v4:
	- Always use byte size in helper. (Chris)

Signed-off-by: Antonio Argenziano <antonio.argenziano@intel.com>

Cc: Chris Wilson <chris@chris-wilson.co.uk>
---
 tests/i915/gem_exec_schedule.c | 130 ++++++++++++++++-----------------
 1 file changed, 62 insertions(+), 68 deletions(-)

diff --git a/tests/i915/gem_exec_schedule.c b/tests/i915/gem_exec_schedule.c
index 00f9528a..1ff0935e 100644
--- a/tests/i915/gem_exec_schedule.c
+++ b/tests/i915/gem_exec_schedule.c
@@ -49,6 +49,24 @@
 
 IGT_TEST_DESCRIPTION("Check that we can control the order of execution");
 
+static inline
+uint32_t __sync_read_u32(int fd, uint32_t handle, uint64_t offset)
+{
+	uint32_t value;
+
+	gem_sync(fd, handle); /* No write hazard lies! */
+	gem_read(fd, handle, offset, &value, sizeof(value));
+
+	return value;
+}
+
+static inline
+void __sync_read_u32_count(int fd, uint32_t handle, uint32_t *dst, uint64_t size)
+{
+	gem_sync(fd, handle); /* No write hazard lies! */
+	gem_read(fd, handle, 0, dst, size);
+}
+
 static uint32_t __store_dword(int fd, uint32_t ctx, unsigned ring,
 			      uint32_t target, uint32_t offset, uint32_t value,
 			      uint32_t cork, unsigned write_domain)
@@ -152,7 +170,7 @@ static void fifo(int fd, unsigned ring)
 {
 	IGT_CORK_HANDLE(cork);
 	uint32_t scratch, plug;
-	uint32_t *ptr;
+	uint32_t result;
 
 	scratch = gem_create(fd, 4096);
 
@@ -165,13 +183,10 @@ static void fifo(int fd, unsigned ring)
 	unplug_show_queue(fd, &cork, ring);
 	gem_close(fd, plug);
 
-	ptr = gem_mmap__gtt(fd, scratch, 4096, PROT_READ);
-	gem_set_domain(fd, scratch, /* no write hazard lies! */
-			I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
+	result =  __sync_read_u32(fd, scratch, 0);
 	gem_close(fd, scratch);
 
-	igt_assert_eq_u32(ptr[0], 2);
-	munmap(ptr, 4096);
+	igt_assert_eq_u32(result, 2);
 }
 
 static void independent(int fd, unsigned int engine)
@@ -249,7 +264,7 @@ static void smoketest(int fd, unsigned ring, unsigned timeout)
 	unsigned nengine;
 	unsigned engine;
 	uint32_t scratch;
-	uint32_t *ptr;
+	uint32_t result[2 * ncpus];
 
 	nengine = 0;
 	if (ring == ALL_ENGINES) {
@@ -287,22 +302,19 @@ static void smoketest(int fd, unsigned ring, unsigned timeout)
 	}
 	igt_waitchildren();
 
-	ptr = gem_mmap__gtt(fd, scratch, 4096, PROT_READ);
-	gem_set_domain(fd, scratch, /* no write hazard lies! */
-			I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
+	__sync_read_u32_count(fd, scratch, result, sizeof(result));
 	gem_close(fd, scratch);
 
 	for (unsigned n = 0; n < ncpus; n++) {
-		igt_assert_eq_u32(ptr[2*n], ~n);
+		igt_assert_eq_u32(result[2 * n], ~n);
 		/*
 		 * Note this count is approximate due to unconstrained
 		 * ordering of the dword writes between engines.
 		 *
 		 * Take the result with a pinch of salt.
 		 */
-		igt_info("Child[%d] completed %u cycles\n",  n, ptr[2*n+1]);
+		igt_info("Child[%d] completed %u cycles\n",  n, result[(2 * n) + 1]);
 	}
-	munmap(ptr, 4096);
 }
 
 static void reorder(int fd, unsigned ring, unsigned flags)
@@ -310,7 +322,7 @@ static void reorder(int fd, unsigned ring, unsigned flags)
 {
 	IGT_CORK_HANDLE(cork);
 	uint32_t scratch, plug;
-	uint32_t *ptr;
+	uint32_t result;
 	uint32_t ctx[2];
 
 	ctx[LO] = gem_context_create(fd);
@@ -334,23 +346,20 @@ static void reorder(int fd, unsigned ring, unsigned flags)
 	gem_context_destroy(fd, ctx[LO]);
 	gem_context_destroy(fd, ctx[HI]);
 
-	ptr = gem_mmap__gtt(fd, scratch, 4096, PROT_READ);
-	gem_set_domain(fd, scratch, /* no write hazard lies! */
-			I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
+	result =  __sync_read_u32(fd, scratch, 0);
 	gem_close(fd, scratch);
 
 	if (flags & EQUAL) /* equal priority, result will be fifo */
-		igt_assert_eq_u32(ptr[0], ctx[HI]);
+		igt_assert_eq_u32(result, ctx[HI]);
 	else
-		igt_assert_eq_u32(ptr[0], ctx[LO]);
-	munmap(ptr, 4096);
+		igt_assert_eq_u32(result, ctx[LO]);
 }
 
 static void promotion(int fd, unsigned ring)
 {
 	IGT_CORK_HANDLE(cork);
 	uint32_t result, dep;
-	uint32_t *ptr;
+	uint32_t result_read, dep_read;
 	uint32_t ctx[3];
 	uint32_t plug;
 
@@ -389,21 +398,14 @@ static void promotion(int fd, unsigned ring)
 	gem_context_destroy(fd, ctx[LO]);
 	gem_context_destroy(fd, ctx[HI]);
 
-	ptr = gem_mmap__gtt(fd, dep, 4096, PROT_READ);
-	gem_set_domain(fd, dep, /* no write hazard lies! */
-			I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
+	dep_read = __sync_read_u32(fd, dep, 0);
 	gem_close(fd, dep);
 
-	igt_assert_eq_u32(ptr[0], ctx[HI]);
-	munmap(ptr, 4096);
-
-	ptr = gem_mmap__gtt(fd, result, 4096, PROT_READ);
-	gem_set_domain(fd, result, /* no write hazard lies! */
-			I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
+	result_read = __sync_read_u32(fd, result, 0);
 	gem_close(fd, result);
 
-	igt_assert_eq_u32(ptr[0], ctx[NOISE]);
-	munmap(ptr, 4096);
+	igt_assert_eq_u32(dep_read, ctx[HI]);
+	igt_assert_eq_u32(result_read, ctx[NOISE]);
 }
 
 #define NEW_CTX (0x1 << 0)
@@ -411,7 +413,7 @@ static void promotion(int fd, unsigned ring)
 static void preempt(int fd, unsigned ring, unsigned flags)
 {
 	uint32_t result = gem_create(fd, 4096);
-	uint32_t *ptr = gem_mmap__gtt(fd, result, 4096, PROT_READ);
+	uint32_t result_read;
 	igt_spin_t *spin[MAX_ELSP_QLEN];
 	uint32_t ctx[2];
 	igt_hang_t hang;
@@ -438,8 +440,8 @@ static void preempt(int fd, unsigned ring, unsigned flags)
 
 		store_dword(fd, ctx[HI], ring, result, 0, n + 1, 0, I915_GEM_DOMAIN_RENDER);
 
-		gem_set_domain(fd, result, I915_GEM_DOMAIN_GTT, 0);
-		igt_assert_eq_u32(ptr[0], n + 1);
+		result_read = __sync_read_u32(fd, result, 0);
+		igt_assert_eq_u32(result_read, n + 1);
 		igt_assert(gem_bo_busy(fd, spin[0]->handle));
 	}
 
@@ -452,7 +454,6 @@ static void preempt(int fd, unsigned ring, unsigned flags)
 	gem_context_destroy(fd, ctx[LO]);
 	gem_context_destroy(fd, ctx[HI]);
 
-	munmap(ptr, 4096);
 	gem_close(fd, result);
 }
 
@@ -493,7 +494,7 @@ static void __preempt_other(int fd,
 			    unsigned flags)
 {
 	uint32_t result = gem_create(fd, 4096);
-	uint32_t *ptr = gem_mmap__gtt(fd, result, 4096, PROT_READ);
+	uint32_t result_read[4096 / sizeof(uint32_t)];
 	unsigned int n, i, other;
 
 	n = 0;
@@ -519,10 +520,11 @@ static void __preempt_other(int fd,
 	gem_set_domain(fd, result, I915_GEM_DOMAIN_GTT, 0);
 
 	n++;
+
+	__sync_read_u32_count(fd, result, result_read, sizeof(result_read));
 	for (i = 0; i <= n; i++)
-		igt_assert_eq_u32(ptr[i], i);
+		igt_assert_eq_u32(result_read[i], i);
 
-	munmap(ptr, 4096);
 	gem_close(fd, result);
 }
 
@@ -570,7 +572,7 @@ static void __preempt_queue(int fd,
 			    unsigned depth, unsigned flags)
 {
 	uint32_t result = gem_create(fd, 4096);
-	uint32_t *ptr = gem_mmap__gtt(fd, result, 4096, PROT_READ);
+	uint32_t result_read[4096 / sizeof(uint32_t)];
 	igt_spin_t *above = NULL, *below = NULL;
 	unsigned int other, n, i;
 	int prio = MAX_PRIO;
@@ -628,9 +630,11 @@ static void __preempt_queue(int fd,
 
 	gem_set_domain(fd, result, I915_GEM_DOMAIN_GTT, 0);
 
+	__sync_read_u32_count(fd, result, result_read, sizeof(result_read));
+
 	n++;
 	for (i = 0; i <= n; i++)
-		igt_assert_eq_u32(ptr[i], i);
+		igt_assert_eq_u32(result_read[i], i);
 
 	if (below) {
 		igt_assert(gem_bo_busy(fd, below->handle));
@@ -641,7 +645,6 @@ static void __preempt_queue(int fd,
 	gem_context_destroy(fd, ctx[NOISE]);
 	gem_context_destroy(fd, ctx[HI]);
 
-	munmap(ptr, 4096);
 	gem_close(fd, result);
 }
 
@@ -658,7 +661,7 @@ static void preempt_queue(int fd, unsigned ring, unsigned int flags)
 static void preempt_self(int fd, unsigned ring)
 {
 	uint32_t result = gem_create(fd, 4096);
-	uint32_t *ptr = gem_mmap__gtt(fd, result, 4096, PROT_READ);
+	uint32_t result_read[4096 / sizeof(uint32_t)];
 	igt_spin_t *spin[MAX_ELSP_QLEN];
 	unsigned int other;
 	unsigned int n, i;
@@ -699,14 +702,15 @@ static void preempt_self(int fd, unsigned ring)
 		igt_spin_batch_free(fd, spin[i]);
 	}
 
+	__sync_read_u32_count(fd, result, result_read, sizeof(result_read));
+
 	n++;
 	for (i = 0; i <= n; i++)
-		igt_assert_eq_u32(ptr[i], i);
+		igt_assert_eq_u32(result_read[i], i);
 
 	gem_context_destroy(fd, ctx[NOISE]);
 	gem_context_destroy(fd, ctx[HI]);
 
-	munmap(ptr, 4096);
 	gem_close(fd, result);
 }
 
@@ -755,8 +759,8 @@ static void deep(int fd, unsigned ring)
 	unsigned int nreq;
 	uint32_t plug;
 	uint32_t result, dep[XS];
+	uint32_t result_read[size / sizeof(uint32_t)], dep_read[size / sizeof(uint32_t)];
 	uint32_t expected = 0;
-	uint32_t *ptr;
 	uint32_t *ctx;
 	int dep_nreq;
 	int n;
@@ -879,25 +883,19 @@ static void deep(int fd, unsigned ring)
 		gem_context_destroy(fd, ctx[n]);
 
 	for (int m = 0; m < XS; m++) {
-		ptr = gem_mmap__gtt(fd, dep[m], size, PROT_READ);
-		gem_set_domain(fd, dep[m], /* no write hazard lies! */
-				I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
+		__sync_read_u32_count(fd, dep[m], dep_read, sizeof(dep_read));
 		gem_close(fd, dep[m]);
 
 		for (n = 0; n < dep_nreq; n++)
-			igt_assert_eq_u32(ptr[n], ctx[n % MAX_CONTEXTS]);
-		munmap(ptr, size);
+			igt_assert_eq_u32(dep_read[n], ctx[n % MAX_CONTEXTS]);
 	}
 
-	ptr = gem_mmap__gtt(fd, result, size, PROT_READ);
-	gem_set_domain(fd, result, /* no write hazard lies! */
-			I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
+	__sync_read_u32_count(fd, result, result_read, sizeof(result_read));
 	gem_close(fd, result);
 
 	/* No reordering due to PI on all contexts because of the common dep */
 	for (int m = 0; m < XS; m++)
-		igt_assert_eq_u32(ptr[m], expected);
-	munmap(ptr, size);
+		igt_assert_eq_u32(result_read[m], expected);
 
 	free(ctx);
 #undef XS
@@ -923,7 +921,7 @@ static void wide(int fd, unsigned ring)
 	IGT_CORK_HANDLE(cork);
 	uint32_t plug;
 	uint32_t result;
-	uint32_t *ptr;
+	uint32_t result_read[4*MAX_CONTEXTS];
 	uint32_t *ctx;
 	unsigned int count;
 
@@ -952,12 +950,9 @@ static void wide(int fd, unsigned ring)
 	for (int n = 0; n < MAX_CONTEXTS; n++)
 		gem_context_destroy(fd, ctx[n]);
 
-	ptr = gem_mmap__gtt(fd, result, 4*MAX_CONTEXTS, PROT_READ);
-	gem_set_domain(fd, result, /* no write hazard lies! */
-			I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
+	__sync_read_u32_count(fd, result, result_read, sizeof(result_read));
 	for (int n = 0; n < MAX_CONTEXTS; n++)
-		igt_assert_eq_u32(ptr[n], ctx[n]);
-	munmap(ptr, 4*MAX_CONTEXTS);
+		igt_assert_eq_u32(result_read[n], ctx[n]);
 
 	gem_close(fd, result);
 	free(ctx);
@@ -973,7 +968,8 @@ static void reorder_wide(int fd, unsigned ring)
 	unsigned int ring_size = gem_measure_ring_inflight(fd, ring, MEASURE_RING_NEW_CTX);
 	IGT_CORK_HANDLE(cork);
 	uint32_t result, target, plug;
-	uint32_t *found, *expected;
+	uint32_t result_read[1024];
+	uint32_t *expected;
 
 	result = gem_create(fd, 4096);
 	target = gem_create(fd, 4096);
@@ -1053,12 +1049,10 @@ static void reorder_wide(int fd, unsigned ring)
 	unplug_show_queue(fd, &cork, ring);
 	gem_close(fd, plug);
 
-	found = gem_mmap__gtt(fd, result, 4096, PROT_READ);
-	gem_set_domain(fd, result, /* no write hazard lies! */
-			I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
+	__sync_read_u32_count(fd, result, result_read, sizeof(result_read));
 	for (int n = 0; n < 1024; n++)
-		igt_assert_eq_u32(found[n], expected[n]);
-	munmap(found, 4096);
+		igt_assert_eq_u32(result_read[n], expected[n]);
+
 	munmap(expected, 4096);
 
 	gem_close(fd, result);
-- 
2.20.1

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

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

* Re: [igt-dev] [PATCH i-g-t v4] tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read
  2019-02-15  0:49 [igt-dev] [PATCH i-g-t v4] tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read Antonio Argenziano via igt-dev
@ 2019-02-15  0:57 ` Chris Wilson
  2019-02-15  9:24 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read (rev4) Patchwork
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2019-02-15  0:57 UTC (permalink / raw)
  To: Antonio Argenziano, igt-dev

Quoting Antonio Argenziano (2019-02-15 00:49:01)
> use IOCTLs gem_read for reading and, gem_sync to wait on a batch, this
> will help testing platforms that might not expose gtt mapping.
> 
> v2:
>         - use a local helper for reading from BOs. (Chris)
>         - Always sync before reading. (Chris)
> 
> v3:
>         - Better helper naming. (Chris)
>         - Start read from actual offset. (Chris)
> 
> v4:
>         - Always use byte size in helper. (Chris)
> 
> Signed-off-by: Antonio Argenziano <antonio.argenziano@intel.com>
> 
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> @@ -755,8 +759,8 @@ static void deep(int fd, unsigned ring)
>         unsigned int nreq;
>         uint32_t plug;
>         uint32_t result, dep[XS];
> +       uint32_t result_read[size / sizeof(uint32_t)], dep_read[size / sizeof(uint32_t)];

We only use one array at a time, keeping both on stack is overkill. You
might ask why not dep_read[XS][2048]?

>         uint32_t expected = 0;
> -       uint32_t *ptr;
>         uint32_t *ctx;
>         int dep_nreq;
>         int n;

Other than that,
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read (rev4)
  2019-02-15  0:49 [igt-dev] [PATCH i-g-t v4] tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read Antonio Argenziano via igt-dev
  2019-02-15  0:57 ` Chris Wilson
@ 2019-02-15  9:24 ` Patchwork
  2019-02-15 12:25 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  2019-02-15 12:33 ` [igt-dev] [PATCH i-g-t v4] tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read Chris Wilson
  3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2019-02-15  9:24 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read (rev4)
URL   : https://patchwork.freedesktop.org/series/56642/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5606 -> IGTPW_2413
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/56642/revisions/4/mbox/

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live_execlists:
    - fi-apl-guc:         PASS -> INCOMPLETE [fdo#103927]

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       PASS -> FAIL [fdo#109485]

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - fi-blb-e6850:       NOTRUN -> INCOMPLETE [fdo#107718]

  
#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-blb-e6850:       INCOMPLETE [fdo#107718] -> PASS

  * igt@i915_selftest@live_execlists:
    - {fi-icl-y}:         INCOMPLETE [fdo#109567] -> PASS

  * igt@i915_selftest@live_requests:
    - {fi-icl-u2}:        INCOMPLETE -> PASS

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108622]: https://bugs.freedesktop.org/show_bug.cgi?id=108622
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
  [fdo#109567]: https://bugs.freedesktop.org/show_bug.cgi?id=109567


Participating hosts (47 -> 42)
------------------------------

  Additional (1): fi-pnv-d510 
  Missing    (6): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-whl-u fi-icl-u3 


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

    * IGT: IGT_4827 -> IGTPW_2413

  CI_DRM_5606: 11c5ba5964ab160907d4320ab9a954d5b296e6d3 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2413: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2413/
  IGT_4827: 395eaffd7e1390c9d6043c2980dc14ce3e08b154 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] ✗ Fi.CI.IGT: failure for tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read (rev4)
  2019-02-15  0:49 [igt-dev] [PATCH i-g-t v4] tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read Antonio Argenziano via igt-dev
  2019-02-15  0:57 ` Chris Wilson
  2019-02-15  9:24 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read (rev4) Patchwork
@ 2019-02-15 12:25 ` Patchwork
  2019-02-15 12:33 ` [igt-dev] [PATCH i-g-t v4] tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read Chris Wilson
  3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2019-02-15 12:25 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read (rev4)
URL   : https://patchwork.freedesktop.org/series/56642/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_5606_full -> IGTPW_2413_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_2413_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_2413_full, 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/56642/revisions/4/mbox/

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@gem_exec_schedule@wide-blt:
    - shard-apl:          PASS -> FAIL +3
    - shard-kbl:          PASS -> FAIL +4

  * igt@gem_exec_schedule@wide-vebox:
    - shard-glk:          PASS -> FAIL +3

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_eio@in-flight-suspend:
    - shard-snb:          PASS -> FAIL [fdo#103375]

  * igt@gem_exec_big:
    - shard-hsw:          PASS -> TIMEOUT [fdo#107937]

  * igt@gem_pwrite@big-cpu-forwards:
    - shard-apl:          PASS -> INCOMPLETE [fdo#103927]

  * igt@kms_busy@extended-modeset-hang-newfb-render-b:
    - shard-kbl:          NOTRUN -> DMESG-WARN [fdo#107956]

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b:
    - shard-apl:          NOTRUN -> DMESG-WARN [fdo#107956]

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
    - shard-apl:          PASS -> FAIL [fdo#106510] / [fdo#108145]
    - shard-glk:          PASS -> FAIL [fdo#108145]

  * igt@kms_chv_cursor_fail@pipe-b-64x64-left-edge:
    - shard-snb:          PASS -> INCOMPLETE [fdo#105411]

  * igt@kms_color@pipe-b-legacy-gamma:
    - shard-apl:          PASS -> FAIL [fdo#104782]
    - shard-kbl:          PASS -> FAIL [fdo#104782]

  * igt@kms_cursor_crc@cursor-256x256-suspend:
    - shard-apl:          NOTRUN -> FAIL [fdo#103191] / [fdo#103232]

  * igt@kms_cursor_crc@cursor-64x21-random:
    - shard-apl:          PASS -> FAIL [fdo#103232] +4

  * igt@kms_cursor_crc@cursor-64x64-random:
    - shard-kbl:          PASS -> FAIL [fdo#103232]

  * igt@kms_draw_crc@draw-method-xrgb8888-mmap-wc-xtiled:
    - shard-glk:          PASS -> FAIL [fdo#107791]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-glk:          PASS -> FAIL [fdo#103167] +1
    - shard-kbl:          PASS -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render:
    - shard-apl:          PASS -> FAIL [fdo#103167] +1

  * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
    - shard-apl:          PASS -> FAIL [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max:
    - shard-apl:          NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-x:
    - shard-apl:          PASS -> FAIL [fdo#103166]
    - shard-kbl:          PASS -> FAIL [fdo#103166]

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-none:
    - shard-glk:          PASS -> FAIL [fdo#103166] +2

  * igt@kms_setmode@basic:
    - shard-apl:          PASS -> FAIL [fdo#99912]

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-kbl:          PASS -> FAIL [fdo#104894]
    - shard-apl:          PASS -> FAIL [fdo#104894]

  
#### Possible fixes ####

  * igt@kms_ccs@pipe-b-crc-sprite-planes-basic:
    - shard-glk:          FAIL [fdo#108145] -> PASS

  * igt@kms_color@pipe-c-legacy-gamma:
    - shard-apl:          FAIL [fdo#104782] -> PASS
    - shard-glk:          FAIL [fdo#104782] -> PASS

  * igt@kms_cursor_crc@cursor-128x128-onscreen:
    - shard-kbl:          FAIL [fdo#103232] -> PASS +1

  * igt@kms_cursor_crc@cursor-64x21-sliding:
    - shard-apl:          FAIL [fdo#103232] -> PASS +2

  * igt@kms_cursor_crc@cursor-64x64-suspend:
    - shard-apl:          FAIL [fdo#103191] / [fdo#103232] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
    - shard-apl:          FAIL [fdo#103167] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff:
    - shard-glk:          FAIL [fdo#103167] -> PASS +2

  * igt@kms_plane@pixel-format-pipe-b-planes-source-clamping:
    - shard-glk:          FAIL [fdo#108948] -> PASS

  * igt@kms_plane@plane-position-covered-pipe-c-planes:
    - shard-kbl:          FAIL [fdo#103166] -> PASS

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-none:
    - shard-apl:          FAIL [fdo#103166] -> PASS +5

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
    - shard-glk:          FAIL [fdo#103166] -> PASS +2

  * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom:
    - shard-kbl:          DMESG-FAIL [fdo#105763] -> PASS

  * igt@kms_setmode@basic:
    - shard-kbl:          FAIL [fdo#99912] -> PASS

  * igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm:
    - shard-apl:          FAIL -> PASS
    - shard-kbl:          FAIL -> PASS

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
  [fdo#104894]: https://bugs.freedesktop.org/show_bug.cgi?id=104894
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
  [fdo#106510]: https://bugs.freedesktop.org/show_bug.cgi?id=106510
  [fdo#107791]: https://bugs.freedesktop.org/show_bug.cgi?id=107791
  [fdo#107937]: https://bugs.freedesktop.org/show_bug.cgi?id=107937
  [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108948]: https://bugs.freedesktop.org/show_bug.cgi?id=108948
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (7 -> 5)
------------------------------

  Missing    (2): shard-skl shard-iclb 


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

    * IGT: IGT_4827 -> IGTPW_2413
    * Piglit: piglit_4509 -> None

  CI_DRM_5606: 11c5ba5964ab160907d4320ab9a954d5b296e6d3 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2413: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2413/
  IGT_4827: 395eaffd7e1390c9d6043c2980dc14ce3e08b154 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

* Re: [igt-dev] [PATCH i-g-t v4] tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read
  2019-02-15  0:49 [igt-dev] [PATCH i-g-t v4] tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read Antonio Argenziano via igt-dev
                   ` (2 preceding siblings ...)
  2019-02-15 12:25 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2019-02-15 12:33 ` Chris Wilson
  2019-02-15 15:37   ` Antonio Argenziano via igt-dev
  3 siblings, 1 reply; 6+ messages in thread
From: Chris Wilson @ 2019-02-15 12:33 UTC (permalink / raw)
  To: Antonio Argenziano, igt-dev

Quoting Antonio Argenziano (2019-02-15 00:49:01)
> @@ -923,7 +921,7 @@ static void wide(int fd, unsigned ring)
>         IGT_CORK_HANDLE(cork);
>         uint32_t plug;
>         uint32_t result;
> -       uint32_t *ptr;
> +       uint32_t result_read[4*MAX_CONTEXTS];

Oh, didn't spot this until CI.
uint32_t result_read[MAX_CONTEXTS]
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t v4] tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read
  2019-02-15 12:33 ` [igt-dev] [PATCH i-g-t v4] tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read Chris Wilson
@ 2019-02-15 15:37   ` Antonio Argenziano via igt-dev
  0 siblings, 0 replies; 6+ messages in thread
From: Antonio Argenziano via igt-dev @ 2019-02-15 15:37 UTC (permalink / raw)
  To: Chris Wilson, igt-dev



On 15/02/19 04:33, Chris Wilson wrote:
> Quoting Antonio Argenziano (2019-02-15 00:49:01)
>> @@ -923,7 +921,7 @@ static void wide(int fd, unsigned ring)
>>          IGT_CORK_HANDLE(cork);
>>          uint32_t plug;
>>          uint32_t result;
>> -       uint32_t *ptr;
>> +       uint32_t result_read[4*MAX_CONTEXTS];
> 
> Oh, didn't spot this until CI.
> uint32_t result_read[MAX_CONTEXTS]

Thanks, hopefully the last cout-byte conversion I've missed.

Antonio

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

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

end of thread, other threads:[~2019-02-15 15:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-15  0:49 [igt-dev] [PATCH i-g-t v4] tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read Antonio Argenziano via igt-dev
2019-02-15  0:57 ` Chris Wilson
2019-02-15  9:24 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read (rev4) Patchwork
2019-02-15 12:25 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2019-02-15 12:33 ` [igt-dev] [PATCH i-g-t v4] tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_read Chris Wilson
2019-02-15 15:37   ` Antonio Argenziano via igt-dev

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.