All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH i-g-t] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
@ 2020-01-30 20:41 ` Tvrtko Ursulin
  0 siblings, 0 replies; 26+ messages in thread
From: Tvrtko Ursulin @ 2020-01-30 20:41 UTC (permalink / raw)
  To: igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx

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

Converts all per-engine tests into dynamic subtests and in the process:

 * Put back I915_EXEC_BSD legacy coverage.
 * Remove one added static engine list usage.
 * Compact code by driving two groups of the name/func table.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Bommu Krishnaiah <krishnaiah.bommu@intel.com>
---
 tests/i915/gem_ctx_persistence.c | 97 +++++++++++++-------------------
 1 file changed, 39 insertions(+), 58 deletions(-)

diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
index 8b9633b214ff..0d5b22d2b162 100644
--- a/tests/i915/gem_ctx_persistence.c
+++ b/tests/i915/gem_ctx_persistence.c
@@ -759,7 +759,20 @@ static void smoketest(int i915)
 
 igt_main
 {
-	const struct intel_execution_engine2 *e;
+	struct {
+		const char *name;
+		void (*func)(int fd, unsigned int engine);
+	} *test, tests[] = {
+		{ "persistence", test_persistence },
+		{ "cleanup", test_nonpersistent_cleanup },
+		{ "queued", test_nonpersistent_queued },
+		{ "mixed", test_nonpersistent_mixed },
+		{ "mixed-process", test_process_mixed },
+		{ "hostile", test_nonpersistent_hostile },
+		{ "hostile-preempt", test_nonpersistent_hostile_preempt },
+		{ "hang", test_nonpersistent_hang },
+		{ NULL, NULL },
+	};
 	int i915;
 
 	igt_fixture {
@@ -792,72 +805,40 @@ igt_main
 	igt_subtest("hang")
 		test_nohangcheck_hang(i915);
 
-	__for_each_static_engine(e) {
-		igt_subtest_group {
-			igt_fixture {
-				gem_require_ring(i915, e->flags);
-				gem_require_contexts(i915);
-			}
-
-			igt_subtest_f("legacy-%s-persistence", e->name)
-				test_persistence(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-cleanup", e->name)
-				test_nonpersistent_cleanup(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-queued", e->name)
-				test_nonpersistent_queued(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-mixed", e->name)
-				test_nonpersistent_mixed(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-mixed-process", e->name)
-				test_process_mixed(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-hostile", e->name)
-				test_nonpersistent_hostile(i915, e->flags);
+	igt_subtest("smoketest")
+		smoketest(i915);
 
-			igt_subtest_f("legacy-%s-hostile-preempt", e->name)
-				test_nonpersistent_hostile_preempt(i915,
-								   e->flags);
+	igt_subtest_group {
+		igt_fixture
+			gem_require_contexts(i915);
+
+		for (test = tests; test->name; test++) {
+			igt_subtest_with_dynamic_f("legacy-engines-%s",
+						   test->name) {
+				for_each_engine(e, i915) {
+					igt_dynamic_f("%s", e->name)
+						test->func(i915, eb_ring(e));
+				}
+			}
 		}
 	}
 
-        __for_each_physical_engine(i915, e) {
-                igt_subtest_group {
-                        igt_fixture
-                                gem_require_contexts(i915);
-
-			igt_subtest_f("%s-persistence", e->name)
-				test_persistence(i915, e->flags);
-
-			igt_subtest_f("%s-cleanup", e->name)
-				test_nonpersistent_cleanup(i915, e->flags);
-
-			igt_subtest_f("%s-queued", e->name)
-				test_nonpersistent_queued(i915, e->flags);
-
-			igt_subtest_f("%s-mixed", e->name)
-				test_nonpersistent_mixed(i915, e->flags);
-
-			igt_subtest_f("%s-mixed-process", e->name)
-				test_process_mixed(i915, e->flags);
+	igt_subtest_group {
+		const struct intel_execution_engine2 *e;
 
-			igt_subtest_f("%s-hostile", e->name)
-				test_nonpersistent_hostile(i915, e->flags);
+		igt_fixture
+			gem_require_contexts(i915);
 
-			igt_subtest_f("%s-hostile-preempt", e->name)
-				test_nonpersistent_hostile_preempt(i915,
-								   e->flags);
-
-			igt_subtest_f("%s-hang", e->name)
-				test_nonpersistent_hang(i915, e->flags);
+		for (test = tests; test->name; test++) {
+			igt_subtest_with_dynamic_f("engines-%s", test->name) {
+				__for_each_physical_engine(i915, e) {
+					igt_dynamic_f("%s", e->name)
+						test->func(i915, e->flags);
+				}
+			}
 		}
 	}
 
-	igt_subtest("smoketest")
-		smoketest(i915);
-
 	igt_fixture {
 		close(i915);
 	}
-- 
2.20.1

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

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

* [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
@ 2020-01-30 20:41 ` Tvrtko Ursulin
  0 siblings, 0 replies; 26+ messages in thread
From: Tvrtko Ursulin @ 2020-01-30 20:41 UTC (permalink / raw)
  To: igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx, Tvrtko Ursulin

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

Converts all per-engine tests into dynamic subtests and in the process:

 * Put back I915_EXEC_BSD legacy coverage.
 * Remove one added static engine list usage.
 * Compact code by driving two groups of the name/func table.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Bommu Krishnaiah <krishnaiah.bommu@intel.com>
---
 tests/i915/gem_ctx_persistence.c | 97 +++++++++++++-------------------
 1 file changed, 39 insertions(+), 58 deletions(-)

diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
index 8b9633b214ff..0d5b22d2b162 100644
--- a/tests/i915/gem_ctx_persistence.c
+++ b/tests/i915/gem_ctx_persistence.c
@@ -759,7 +759,20 @@ static void smoketest(int i915)
 
 igt_main
 {
-	const struct intel_execution_engine2 *e;
+	struct {
+		const char *name;
+		void (*func)(int fd, unsigned int engine);
+	} *test, tests[] = {
+		{ "persistence", test_persistence },
+		{ "cleanup", test_nonpersistent_cleanup },
+		{ "queued", test_nonpersistent_queued },
+		{ "mixed", test_nonpersistent_mixed },
+		{ "mixed-process", test_process_mixed },
+		{ "hostile", test_nonpersistent_hostile },
+		{ "hostile-preempt", test_nonpersistent_hostile_preempt },
+		{ "hang", test_nonpersistent_hang },
+		{ NULL, NULL },
+	};
 	int i915;
 
 	igt_fixture {
@@ -792,72 +805,40 @@ igt_main
 	igt_subtest("hang")
 		test_nohangcheck_hang(i915);
 
-	__for_each_static_engine(e) {
-		igt_subtest_group {
-			igt_fixture {
-				gem_require_ring(i915, e->flags);
-				gem_require_contexts(i915);
-			}
-
-			igt_subtest_f("legacy-%s-persistence", e->name)
-				test_persistence(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-cleanup", e->name)
-				test_nonpersistent_cleanup(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-queued", e->name)
-				test_nonpersistent_queued(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-mixed", e->name)
-				test_nonpersistent_mixed(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-mixed-process", e->name)
-				test_process_mixed(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-hostile", e->name)
-				test_nonpersistent_hostile(i915, e->flags);
+	igt_subtest("smoketest")
+		smoketest(i915);
 
-			igt_subtest_f("legacy-%s-hostile-preempt", e->name)
-				test_nonpersistent_hostile_preempt(i915,
-								   e->flags);
+	igt_subtest_group {
+		igt_fixture
+			gem_require_contexts(i915);
+
+		for (test = tests; test->name; test++) {
+			igt_subtest_with_dynamic_f("legacy-engines-%s",
+						   test->name) {
+				for_each_engine(e, i915) {
+					igt_dynamic_f("%s", e->name)
+						test->func(i915, eb_ring(e));
+				}
+			}
 		}
 	}
 
-        __for_each_physical_engine(i915, e) {
-                igt_subtest_group {
-                        igt_fixture
-                                gem_require_contexts(i915);
-
-			igt_subtest_f("%s-persistence", e->name)
-				test_persistence(i915, e->flags);
-
-			igt_subtest_f("%s-cleanup", e->name)
-				test_nonpersistent_cleanup(i915, e->flags);
-
-			igt_subtest_f("%s-queued", e->name)
-				test_nonpersistent_queued(i915, e->flags);
-
-			igt_subtest_f("%s-mixed", e->name)
-				test_nonpersistent_mixed(i915, e->flags);
-
-			igt_subtest_f("%s-mixed-process", e->name)
-				test_process_mixed(i915, e->flags);
+	igt_subtest_group {
+		const struct intel_execution_engine2 *e;
 
-			igt_subtest_f("%s-hostile", e->name)
-				test_nonpersistent_hostile(i915, e->flags);
+		igt_fixture
+			gem_require_contexts(i915);
 
-			igt_subtest_f("%s-hostile-preempt", e->name)
-				test_nonpersistent_hostile_preempt(i915,
-								   e->flags);
-
-			igt_subtest_f("%s-hang", e->name)
-				test_nonpersistent_hang(i915, e->flags);
+		for (test = tests; test->name; test++) {
+			igt_subtest_with_dynamic_f("engines-%s", test->name) {
+				__for_each_physical_engine(i915, e) {
+					igt_dynamic_f("%s", e->name)
+						test->func(i915, e->flags);
+				}
+			}
 		}
 	}
 
-	igt_subtest("smoketest")
-		smoketest(i915);
-
 	igt_fixture {
 		close(i915);
 	}
-- 
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] 26+ messages in thread

* Re: [Intel-gfx] [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
  2020-01-30 20:41 ` [igt-dev] " Tvrtko Ursulin
@ 2020-01-30 20:44   ` Tvrtko Ursulin
  -1 siblings, 0 replies; 26+ messages in thread
From: Tvrtko Ursulin @ 2020-01-30 20:44 UTC (permalink / raw)
  To: igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx


On 30/01/2020 20:41, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> Converts all per-engine tests into dynamic subtests and in the process:
> 
>   * Put back I915_EXEC_BSD legacy coverage.
>   * Remove one added static engine list usage.
>   * Compact code by driving two groups of the name/func table.
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Bommu Krishnaiah <krishnaiah.bommu@intel.com>
> ---
>   tests/i915/gem_ctx_persistence.c | 97 +++++++++++++-------------------
>   1 file changed, 39 insertions(+), 58 deletions(-)
> 
> diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
> index 8b9633b214ff..0d5b22d2b162 100644
> --- a/tests/i915/gem_ctx_persistence.c
> +++ b/tests/i915/gem_ctx_persistence.c
> @@ -759,7 +759,20 @@ static void smoketest(int i915)
>   
>   igt_main
>   {
> -	const struct intel_execution_engine2 *e;
> +	struct {
> +		const char *name;
> +		void (*func)(int fd, unsigned int engine);
> +	} *test, tests[] = {
> +		{ "persistence", test_persistence },
> +		{ "cleanup", test_nonpersistent_cleanup },
> +		{ "queued", test_nonpersistent_queued },
> +		{ "mixed", test_nonpersistent_mixed },
> +		{ "mixed-process", test_process_mixed },
> +		{ "hostile", test_nonpersistent_hostile },
> +		{ "hostile-preempt", test_nonpersistent_hostile_preempt },
> +		{ "hang", test_nonpersistent_hang },
> +		{ NULL, NULL },
> +	};
>   	int i915;
>   
>   	igt_fixture {
> @@ -792,72 +805,40 @@ igt_main
>   	igt_subtest("hang")
>   		test_nohangcheck_hang(i915);
>   
> -	__for_each_static_engine(e) {
> -		igt_subtest_group {
> -			igt_fixture {
> -				gem_require_ring(i915, e->flags);
> -				gem_require_contexts(i915);
> -			}
> -
> -			igt_subtest_f("legacy-%s-persistence", e->name)
> -				test_persistence(i915, e->flags);
> -
> -			igt_subtest_f("legacy-%s-cleanup", e->name)
> -				test_nonpersistent_cleanup(i915, e->flags);
> -
> -			igt_subtest_f("legacy-%s-queued", e->name)
> -				test_nonpersistent_queued(i915, e->flags);
> -
> -			igt_subtest_f("legacy-%s-mixed", e->name)
> -				test_nonpersistent_mixed(i915, e->flags);
> -
> -			igt_subtest_f("legacy-%s-mixed-process", e->name)
> -				test_process_mixed(i915, e->flags);
> -
> -			igt_subtest_f("legacy-%s-hostile", e->name)
> -				test_nonpersistent_hostile(i915, e->flags);
> +	igt_subtest("smoketest")
> +		smoketest(i915);
>   
> -			igt_subtest_f("legacy-%s-hostile-preempt", e->name)
> -				test_nonpersistent_hostile_preempt(i915,
> -								   e->flags);
> +	igt_subtest_group {
> +		igt_fixture
> +			gem_require_contexts(i915);
> +
> +		for (test = tests; test->name; test++) {
> +			igt_subtest_with_dynamic_f("legacy-engines-%s",
> +						   test->name) {
> +				for_each_engine(e, i915) {
> +					igt_dynamic_f("%s", e->name)
> +						test->func(i915, eb_ring(e));
> +				}
> +			}
>   		}
>   	}
>   
> -        __for_each_physical_engine(i915, e) {
> -                igt_subtest_group {
> -                        igt_fixture
> -                                gem_require_contexts(i915);
> -
> -			igt_subtest_f("%s-persistence", e->name)
> -				test_persistence(i915, e->flags);
> -
> -			igt_subtest_f("%s-cleanup", e->name)
> -				test_nonpersistent_cleanup(i915, e->flags);
> -
> -			igt_subtest_f("%s-queued", e->name)
> -				test_nonpersistent_queued(i915, e->flags);
> -
> -			igt_subtest_f("%s-mixed", e->name)
> -				test_nonpersistent_mixed(i915, e->flags);
> -
> -			igt_subtest_f("%s-mixed-process", e->name)
> -				test_process_mixed(i915, e->flags);
> +	igt_subtest_group {
> +		const struct intel_execution_engine2 *e;
>   
> -			igt_subtest_f("%s-hostile", e->name)
> -				test_nonpersistent_hostile(i915, e->flags);
> +		igt_fixture
> +			gem_require_contexts(i915);
>   
> -			igt_subtest_f("%s-hostile-preempt", e->name)
> -				test_nonpersistent_hostile_preempt(i915,
> -								   e->flags);
> -
> -			igt_subtest_f("%s-hang", e->name)
> -				test_nonpersistent_hang(i915, e->flags);
> +		for (test = tests; test->name; test++) {
> +			igt_subtest_with_dynamic_f("engines-%s", test->name) {
> +				__for_each_physical_engine(i915, e) {
> +					igt_dynamic_f("%s", e->name)
> +						test->func(i915, e->flags);
> +				}
> +			}
>   		}
>   	}
>   
> -	igt_subtest("smoketest")
> -		smoketest(i915);

I also moved this one to before the default context is configured with 
engine map, since it uses legacy for_each_physical_engine, and is 
therefore confused as to engine selection.

But perhaps better would be to leave it last and convert to 
__for_each_physical_engine. In the spirit of a smoke test is to exercise 
all engines after all.

Regards,

Tvrtko

> -
>   	igt_fixture {
>   		close(i915);
>   	}
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
@ 2020-01-30 20:44   ` Tvrtko Ursulin
  0 siblings, 0 replies; 26+ messages in thread
From: Tvrtko Ursulin @ 2020-01-30 20:44 UTC (permalink / raw)
  To: igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx, Tvrtko Ursulin


On 30/01/2020 20:41, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> Converts all per-engine tests into dynamic subtests and in the process:
> 
>   * Put back I915_EXEC_BSD legacy coverage.
>   * Remove one added static engine list usage.
>   * Compact code by driving two groups of the name/func table.
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Bommu Krishnaiah <krishnaiah.bommu@intel.com>
> ---
>   tests/i915/gem_ctx_persistence.c | 97 +++++++++++++-------------------
>   1 file changed, 39 insertions(+), 58 deletions(-)
> 
> diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
> index 8b9633b214ff..0d5b22d2b162 100644
> --- a/tests/i915/gem_ctx_persistence.c
> +++ b/tests/i915/gem_ctx_persistence.c
> @@ -759,7 +759,20 @@ static void smoketest(int i915)
>   
>   igt_main
>   {
> -	const struct intel_execution_engine2 *e;
> +	struct {
> +		const char *name;
> +		void (*func)(int fd, unsigned int engine);
> +	} *test, tests[] = {
> +		{ "persistence", test_persistence },
> +		{ "cleanup", test_nonpersistent_cleanup },
> +		{ "queued", test_nonpersistent_queued },
> +		{ "mixed", test_nonpersistent_mixed },
> +		{ "mixed-process", test_process_mixed },
> +		{ "hostile", test_nonpersistent_hostile },
> +		{ "hostile-preempt", test_nonpersistent_hostile_preempt },
> +		{ "hang", test_nonpersistent_hang },
> +		{ NULL, NULL },
> +	};
>   	int i915;
>   
>   	igt_fixture {
> @@ -792,72 +805,40 @@ igt_main
>   	igt_subtest("hang")
>   		test_nohangcheck_hang(i915);
>   
> -	__for_each_static_engine(e) {
> -		igt_subtest_group {
> -			igt_fixture {
> -				gem_require_ring(i915, e->flags);
> -				gem_require_contexts(i915);
> -			}
> -
> -			igt_subtest_f("legacy-%s-persistence", e->name)
> -				test_persistence(i915, e->flags);
> -
> -			igt_subtest_f("legacy-%s-cleanup", e->name)
> -				test_nonpersistent_cleanup(i915, e->flags);
> -
> -			igt_subtest_f("legacy-%s-queued", e->name)
> -				test_nonpersistent_queued(i915, e->flags);
> -
> -			igt_subtest_f("legacy-%s-mixed", e->name)
> -				test_nonpersistent_mixed(i915, e->flags);
> -
> -			igt_subtest_f("legacy-%s-mixed-process", e->name)
> -				test_process_mixed(i915, e->flags);
> -
> -			igt_subtest_f("legacy-%s-hostile", e->name)
> -				test_nonpersistent_hostile(i915, e->flags);
> +	igt_subtest("smoketest")
> +		smoketest(i915);
>   
> -			igt_subtest_f("legacy-%s-hostile-preempt", e->name)
> -				test_nonpersistent_hostile_preempt(i915,
> -								   e->flags);
> +	igt_subtest_group {
> +		igt_fixture
> +			gem_require_contexts(i915);
> +
> +		for (test = tests; test->name; test++) {
> +			igt_subtest_with_dynamic_f("legacy-engines-%s",
> +						   test->name) {
> +				for_each_engine(e, i915) {
> +					igt_dynamic_f("%s", e->name)
> +						test->func(i915, eb_ring(e));
> +				}
> +			}
>   		}
>   	}
>   
> -        __for_each_physical_engine(i915, e) {
> -                igt_subtest_group {
> -                        igt_fixture
> -                                gem_require_contexts(i915);
> -
> -			igt_subtest_f("%s-persistence", e->name)
> -				test_persistence(i915, e->flags);
> -
> -			igt_subtest_f("%s-cleanup", e->name)
> -				test_nonpersistent_cleanup(i915, e->flags);
> -
> -			igt_subtest_f("%s-queued", e->name)
> -				test_nonpersistent_queued(i915, e->flags);
> -
> -			igt_subtest_f("%s-mixed", e->name)
> -				test_nonpersistent_mixed(i915, e->flags);
> -
> -			igt_subtest_f("%s-mixed-process", e->name)
> -				test_process_mixed(i915, e->flags);
> +	igt_subtest_group {
> +		const struct intel_execution_engine2 *e;
>   
> -			igt_subtest_f("%s-hostile", e->name)
> -				test_nonpersistent_hostile(i915, e->flags);
> +		igt_fixture
> +			gem_require_contexts(i915);
>   
> -			igt_subtest_f("%s-hostile-preempt", e->name)
> -				test_nonpersistent_hostile_preempt(i915,
> -								   e->flags);
> -
> -			igt_subtest_f("%s-hang", e->name)
> -				test_nonpersistent_hang(i915, e->flags);
> +		for (test = tests; test->name; test++) {
> +			igt_subtest_with_dynamic_f("engines-%s", test->name) {
> +				__for_each_physical_engine(i915, e) {
> +					igt_dynamic_f("%s", e->name)
> +						test->func(i915, e->flags);
> +				}
> +			}
>   		}
>   	}
>   
> -	igt_subtest("smoketest")
> -		smoketest(i915);

I also moved this one to before the default context is configured with 
engine map, since it uses legacy for_each_physical_engine, and is 
therefore confused as to engine selection.

But perhaps better would be to leave it last and convert to 
__for_each_physical_engine. In the spirit of a smoke test is to exercise 
all engines after all.

Regards,

Tvrtko

> -
>   	igt_fixture {
>   		close(i915);
>   	}
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [Intel-gfx] [PATCH i-g-t] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
  2020-01-30 20:41 ` [igt-dev] " Tvrtko Ursulin
@ 2020-01-30 20:47   ` Chris Wilson
  -1 siblings, 0 replies; 26+ messages in thread
From: Chris Wilson @ 2020-01-30 20:47 UTC (permalink / raw)
  To: Tvrtko Ursulin, igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx

Quoting Tvrtko Ursulin (2020-01-30 20:41:24)
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> Converts all per-engine tests into dynamic subtests and in the process:
> 
>  * Put back I915_EXEC_BSD legacy coverage.
>  * Remove one added static engine list usage.
>  * Compact code by driving two groups of the name/func table.
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Bommu Krishnaiah <krishnaiah.bommu@intel.com>
> ---
>  tests/i915/gem_ctx_persistence.c | 97 +++++++++++++-------------------
>  1 file changed, 39 insertions(+), 58 deletions(-)
> 
> diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
> index 8b9633b214ff..0d5b22d2b162 100644
> --- a/tests/i915/gem_ctx_persistence.c
> +++ b/tests/i915/gem_ctx_persistence.c
> @@ -759,7 +759,20 @@ static void smoketest(int i915)
>  
>  igt_main
>  {
> -       const struct intel_execution_engine2 *e;
> +       struct {
> +               const char *name;
> +               void (*func)(int fd, unsigned int engine);
> +       } *test, tests[] = {
> +               { "persistence", test_persistence },
> +               { "cleanup", test_nonpersistent_cleanup },
> +               { "queued", test_nonpersistent_queued },
> +               { "mixed", test_nonpersistent_mixed },
> +               { "mixed-process", test_process_mixed },
> +               { "hostile", test_nonpersistent_hostile },
> +               { "hostile-preempt", test_nonpersistent_hostile_preempt },
> +               { "hang", test_nonpersistent_hang },
> +               { NULL, NULL },

Heh, that's what I was tempted to suggest but did want to seem like I
was requesting too much :)

> +       };
>         int i915;
>  
>         igt_fixture {
> @@ -792,72 +805,40 @@ igt_main
>         igt_subtest("hang")
>                 test_nohangcheck_hang(i915);
>  
> -       __for_each_static_engine(e) {
> -               igt_subtest_group {
> -                       igt_fixture {
> -                               gem_require_ring(i915, e->flags);
> -                               gem_require_contexts(i915);
> -                       }
> -
> -                       igt_subtest_f("legacy-%s-persistence", e->name)
> -                               test_persistence(i915, e->flags);
> -
> -                       igt_subtest_f("legacy-%s-cleanup", e->name)
> -                               test_nonpersistent_cleanup(i915, e->flags);
> -
> -                       igt_subtest_f("legacy-%s-queued", e->name)
> -                               test_nonpersistent_queued(i915, e->flags);
> -
> -                       igt_subtest_f("legacy-%s-mixed", e->name)
> -                               test_nonpersistent_mixed(i915, e->flags);
> -
> -                       igt_subtest_f("legacy-%s-mixed-process", e->name)
> -                               test_process_mixed(i915, e->flags);
> -
> -                       igt_subtest_f("legacy-%s-hostile", e->name)
> -                               test_nonpersistent_hostile(i915, e->flags);
> +       igt_subtest("smoketest")
> +               smoketest(i915);
>  
> -                       igt_subtest_f("legacy-%s-hostile-preempt", e->name)
> -                               test_nonpersistent_hostile_preempt(i915,
> -                                                                  e->flags);
> +       igt_subtest_group {
> +               igt_fixture
> +                       gem_require_contexts(i915);
> +
> +               for (test = tests; test->name; test++) {
> +                       igt_subtest_with_dynamic_f("legacy-engines-%s",
> +                                                  test->name) {
> +                               for_each_engine(e, i915) {

Don't we need a
  if (!gem_has_ring(i915, eb_ring(e)) continue;
here?

> +                                       igt_dynamic_f("%s", e->name)
> +                                               test->func(i915, eb_ring(e));
> +                               }
> +                       }
>                 }
>         }
>  
> -        __for_each_physical_engine(i915, e) {
> -                igt_subtest_group {
> -                        igt_fixture
> -                                gem_require_contexts(i915);
> -
> -                       igt_subtest_f("%s-persistence", e->name)
> -                               test_persistence(i915, e->flags);
> -
> -                       igt_subtest_f("%s-cleanup", e->name)
> -                               test_nonpersistent_cleanup(i915, e->flags);
> -
> -                       igt_subtest_f("%s-queued", e->name)
> -                               test_nonpersistent_queued(i915, e->flags);
> -
> -                       igt_subtest_f("%s-mixed", e->name)
> -                               test_nonpersistent_mixed(i915, e->flags);
> -
> -                       igt_subtest_f("%s-mixed-process", e->name)
> -                               test_process_mixed(i915, e->flags);
> +       igt_subtest_group {
> +               const struct intel_execution_engine2 *e;
>  
> -                       igt_subtest_f("%s-hostile", e->name)
> -                               test_nonpersistent_hostile(i915, e->flags);
> +               igt_fixture
> +                       gem_require_contexts(i915);
>  
> -                       igt_subtest_f("%s-hostile-preempt", e->name)
> -                               test_nonpersistent_hostile_preempt(i915,
> -                                                                  e->flags);
> -
> -                       igt_subtest_f("%s-hang", e->name)
> -                               test_nonpersistent_hang(i915, e->flags);
> +               for (test = tests; test->name; test++) {
> +                       igt_subtest_with_dynamic_f("engines-%s", test->name) {
> +                               __for_each_physical_engine(i915, e) {
> +                                       igt_dynamic_f("%s", e->name)
> +                                               test->func(i915, e->flags);
> +                               }
> +                       }
>                 }

Then I had a plan to add the pathological engines[] here.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [igt-dev] [Intel-gfx] [PATCH i-g-t] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
@ 2020-01-30 20:47   ` Chris Wilson
  0 siblings, 0 replies; 26+ messages in thread
From: Chris Wilson @ 2020-01-30 20:47 UTC (permalink / raw)
  To: Tvrtko Ursulin, igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx

Quoting Tvrtko Ursulin (2020-01-30 20:41:24)
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> Converts all per-engine tests into dynamic subtests and in the process:
> 
>  * Put back I915_EXEC_BSD legacy coverage.
>  * Remove one added static engine list usage.
>  * Compact code by driving two groups of the name/func table.
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Bommu Krishnaiah <krishnaiah.bommu@intel.com>
> ---
>  tests/i915/gem_ctx_persistence.c | 97 +++++++++++++-------------------
>  1 file changed, 39 insertions(+), 58 deletions(-)
> 
> diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
> index 8b9633b214ff..0d5b22d2b162 100644
> --- a/tests/i915/gem_ctx_persistence.c
> +++ b/tests/i915/gem_ctx_persistence.c
> @@ -759,7 +759,20 @@ static void smoketest(int i915)
>  
>  igt_main
>  {
> -       const struct intel_execution_engine2 *e;
> +       struct {
> +               const char *name;
> +               void (*func)(int fd, unsigned int engine);
> +       } *test, tests[] = {
> +               { "persistence", test_persistence },
> +               { "cleanup", test_nonpersistent_cleanup },
> +               { "queued", test_nonpersistent_queued },
> +               { "mixed", test_nonpersistent_mixed },
> +               { "mixed-process", test_process_mixed },
> +               { "hostile", test_nonpersistent_hostile },
> +               { "hostile-preempt", test_nonpersistent_hostile_preempt },
> +               { "hang", test_nonpersistent_hang },
> +               { NULL, NULL },

Heh, that's what I was tempted to suggest but did want to seem like I
was requesting too much :)

> +       };
>         int i915;
>  
>         igt_fixture {
> @@ -792,72 +805,40 @@ igt_main
>         igt_subtest("hang")
>                 test_nohangcheck_hang(i915);
>  
> -       __for_each_static_engine(e) {
> -               igt_subtest_group {
> -                       igt_fixture {
> -                               gem_require_ring(i915, e->flags);
> -                               gem_require_contexts(i915);
> -                       }
> -
> -                       igt_subtest_f("legacy-%s-persistence", e->name)
> -                               test_persistence(i915, e->flags);
> -
> -                       igt_subtest_f("legacy-%s-cleanup", e->name)
> -                               test_nonpersistent_cleanup(i915, e->flags);
> -
> -                       igt_subtest_f("legacy-%s-queued", e->name)
> -                               test_nonpersistent_queued(i915, e->flags);
> -
> -                       igt_subtest_f("legacy-%s-mixed", e->name)
> -                               test_nonpersistent_mixed(i915, e->flags);
> -
> -                       igt_subtest_f("legacy-%s-mixed-process", e->name)
> -                               test_process_mixed(i915, e->flags);
> -
> -                       igt_subtest_f("legacy-%s-hostile", e->name)
> -                               test_nonpersistent_hostile(i915, e->flags);
> +       igt_subtest("smoketest")
> +               smoketest(i915);
>  
> -                       igt_subtest_f("legacy-%s-hostile-preempt", e->name)
> -                               test_nonpersistent_hostile_preempt(i915,
> -                                                                  e->flags);
> +       igt_subtest_group {
> +               igt_fixture
> +                       gem_require_contexts(i915);
> +
> +               for (test = tests; test->name; test++) {
> +                       igt_subtest_with_dynamic_f("legacy-engines-%s",
> +                                                  test->name) {
> +                               for_each_engine(e, i915) {

Don't we need a
  if (!gem_has_ring(i915, eb_ring(e)) continue;
here?

> +                                       igt_dynamic_f("%s", e->name)
> +                                               test->func(i915, eb_ring(e));
> +                               }
> +                       }
>                 }
>         }
>  
> -        __for_each_physical_engine(i915, e) {
> -                igt_subtest_group {
> -                        igt_fixture
> -                                gem_require_contexts(i915);
> -
> -                       igt_subtest_f("%s-persistence", e->name)
> -                               test_persistence(i915, e->flags);
> -
> -                       igt_subtest_f("%s-cleanup", e->name)
> -                               test_nonpersistent_cleanup(i915, e->flags);
> -
> -                       igt_subtest_f("%s-queued", e->name)
> -                               test_nonpersistent_queued(i915, e->flags);
> -
> -                       igt_subtest_f("%s-mixed", e->name)
> -                               test_nonpersistent_mixed(i915, e->flags);
> -
> -                       igt_subtest_f("%s-mixed-process", e->name)
> -                               test_process_mixed(i915, e->flags);
> +       igt_subtest_group {
> +               const struct intel_execution_engine2 *e;
>  
> -                       igt_subtest_f("%s-hostile", e->name)
> -                               test_nonpersistent_hostile(i915, e->flags);
> +               igt_fixture
> +                       gem_require_contexts(i915);
>  
> -                       igt_subtest_f("%s-hostile-preempt", e->name)
> -                               test_nonpersistent_hostile_preempt(i915,
> -                                                                  e->flags);
> -
> -                       igt_subtest_f("%s-hang", e->name)
> -                               test_nonpersistent_hang(i915, e->flags);
> +               for (test = tests; test->name; test++) {
> +                       igt_subtest_with_dynamic_f("engines-%s", test->name) {
> +                               __for_each_physical_engine(i915, e) {
> +                                       igt_dynamic_f("%s", e->name)
> +                                               test->func(i915, e->flags);
> +                               }
> +                       }
>                 }

Then I had a plan to add the pathological engines[] here.
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [Intel-gfx] [igt-dev] [PATCH i-g-t] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
  2020-01-30 20:44   ` Tvrtko Ursulin
@ 2020-01-30 20:50     ` Chris Wilson
  -1 siblings, 0 replies; 26+ messages in thread
From: Chris Wilson @ 2020-01-30 20:50 UTC (permalink / raw)
  To: Tvrtko Ursulin, igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx

Quoting Tvrtko Ursulin (2020-01-30 20:44:57)
> 
> On 30/01/2020 20:41, Tvrtko Ursulin wrote:
> > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> >   
> > -     igt_subtest("smoketest")
> > -             smoketest(i915);
> 
> I also moved this one to before the default context is configured with 
> engine map, since it uses legacy for_each_physical_engine, and is 
> therefore confused as to engine selection.
> 
> But perhaps better would be to leave it last and convert to 
> __for_each_physical_engine. In the spirit of a smoke test is to exercise 
> all engines after all.

Earlier was fine by me. It did make a bit of sense to get the smoketest
running earlier, but later is also fine.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [igt-dev] [Intel-gfx] [PATCH i-g-t] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
@ 2020-01-30 20:50     ` Chris Wilson
  0 siblings, 0 replies; 26+ messages in thread
From: Chris Wilson @ 2020-01-30 20:50 UTC (permalink / raw)
  To: Tvrtko Ursulin, igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx

Quoting Tvrtko Ursulin (2020-01-30 20:44:57)
> 
> On 30/01/2020 20:41, Tvrtko Ursulin wrote:
> > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> >   
> > -     igt_subtest("smoketest")
> > -             smoketest(i915);
> 
> I also moved this one to before the default context is configured with 
> engine map, since it uses legacy for_each_physical_engine, and is 
> therefore confused as to engine selection.
> 
> But perhaps better would be to leave it last and convert to 
> __for_each_physical_engine. In the spirit of a smoke test is to exercise 
> all engines after all.

Earlier was fine by me. It did make a bit of sense to get the smoketest
running earlier, but later is also fine.
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [Intel-gfx] [PATCH i-g-t v2] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
  2020-01-30 20:41 ` [igt-dev] " Tvrtko Ursulin
                   ` (2 preceding siblings ...)
  (?)
@ 2020-01-30 20:52 ` Tvrtko Ursulin
  2020-01-30 20:56     ` [igt-dev] " Chris Wilson
  -1 siblings, 1 reply; 26+ messages in thread
From: Tvrtko Ursulin @ 2020-01-30 20:52 UTC (permalink / raw)
  To: igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx

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

Converts all per-engine tests into dynamic subtests and in the process:

 * Put back I915_EXEC_BSD legacy coverage.
 * Remove one added static engine list usage.
 * Compact code by driving two groups of the name/func table.

v2:
 * Convert smoketest to proper all engines.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Bommu Krishnaiah <krishnaiah.bommu@intel.com>
---
 tests/i915/gem_ctx_persistence.c | 138 ++++++++++++++-----------------
 1 file changed, 63 insertions(+), 75 deletions(-)

diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
index 8b9633b214ff..3b4b55644635 100644
--- a/tests/i915/gem_ctx_persistence.c
+++ b/tests/i915/gem_ctx_persistence.c
@@ -693,6 +693,7 @@ static void __smoker(int i915, unsigned int engine, int expected)
 	int fd, extra;
 
 	fd = gem_reopen_driver(i915);
+	gem_context_copy_engines(i915, 0, fd, 0);
 	gem_context_set_persistence(fd, 0, expected > 0);
 	spin = igt_spin_new(fd, .engine = engine, .flags = IGT_SPIN_FENCE_OUT);
 
@@ -721,7 +722,7 @@ static void __smoker(int i915, unsigned int engine, int expected)
 	}
 
 	spin->handle = 0;
-	igt_spin_free(i915, spin);
+	igt_spin_free(fd, spin);
 }
 
 static void smoker(int i915, unsigned int engine, unsigned int *ctl)
@@ -734,6 +735,7 @@ static void smoker(int i915, unsigned int engine, unsigned int *ctl)
 
 static void smoketest(int i915)
 {
+	const struct intel_execution_engine2 *e;
 	uint32_t *ctl;
 
 	/*
@@ -744,9 +746,9 @@ static void smoketest(int i915)
 	ctl = mmap(0, 4096, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
 	igt_assert(ctl != MAP_FAILED);
 
-	for_each_physical_engine(e, i915) {
+	__for_each_physical_engine(i915, e) {
 		igt_fork(child, 4)
-			smoker(i915, eb_ring(e), ctl);
+			smoker(i915, e->flags, ctl);
 	}
 
 	sleep(20);
@@ -759,7 +761,20 @@ static void smoketest(int i915)
 
 igt_main
 {
-	const struct intel_execution_engine2 *e;
+	struct {
+		const char *name;
+		void (*func)(int fd, unsigned int engine);
+	} *test, tests[] = {
+		{ "persistence", test_persistence },
+		{ "cleanup", test_nonpersistent_cleanup },
+		{ "queued", test_nonpersistent_queued },
+		{ "mixed", test_nonpersistent_mixed },
+		{ "mixed-process", test_process_mixed },
+		{ "hostile", test_nonpersistent_hostile },
+		{ "hostile-preempt", test_nonpersistent_hostile_preempt },
+		{ "hang", test_nonpersistent_hang },
+		{ NULL, NULL },
+	};
 	int i915;
 
 	igt_fixture {
@@ -772,91 +787,64 @@ igt_main
 		igt_allow_hang(i915, 0, 0);
 	}
 
-	igt_subtest("idempotent")
-		test_idempotent(i915);
-
-	igt_subtest("clone")
-		test_clone(i915);
-
-	igt_subtest("file")
-		test_nonpersistent_file(i915);
-
-	igt_subtest("process")
-		test_process(i915);
-
-	igt_subtest("processes")
-		test_processes(i915);
-
-	igt_subtest("hostile")
-		test_nohangcheck_hostile(i915);
-	igt_subtest("hang")
-		test_nohangcheck_hang(i915);
-
-	__for_each_static_engine(e) {
-		igt_subtest_group {
-			igt_fixture {
-				gem_require_ring(i915, e->flags);
-				gem_require_contexts(i915);
-			}
+	/* Legacy execbuf engine selection flags. */
+	igt_subtest_group {
+		igt_fixture
+			gem_require_contexts(i915);
 
-			igt_subtest_f("legacy-%s-persistence", e->name)
-				test_persistence(i915, e->flags);
+		igt_subtest("idempotent")
+			test_idempotent(i915);
 
-			igt_subtest_f("legacy-%s-cleanup", e->name)
-				test_nonpersistent_cleanup(i915, e->flags);
+		igt_subtest("clone")
+			test_clone(i915);
 
-			igt_subtest_f("legacy-%s-queued", e->name)
-				test_nonpersistent_queued(i915, e->flags);
+		igt_subtest("file")
+			test_nonpersistent_file(i915);
 
-			igt_subtest_f("legacy-%s-mixed", e->name)
-				test_nonpersistent_mixed(i915, e->flags);
+		igt_subtest("process")
+			test_process(i915);
 
-			igt_subtest_f("legacy-%s-mixed-process", e->name)
-				test_process_mixed(i915, e->flags);
+		igt_subtest("processes")
+			test_processes(i915);
 
-			igt_subtest_f("legacy-%s-hostile", e->name)
-				test_nonpersistent_hostile(i915, e->flags);
+		igt_subtest("hostile")
+			test_nohangcheck_hostile(i915);
+		igt_subtest("hang")
+			test_nohangcheck_hang(i915);
 
-			igt_subtest_f("legacy-%s-hostile-preempt", e->name)
-				test_nonpersistent_hostile_preempt(i915,
-								   e->flags);
+		for (test = tests; test->name; test++) {
+			igt_subtest_with_dynamic_f("legacy-engines-%s",
+						   test->name) {
+				for_each_engine(e, i915) {
+					igt_dynamic_f("%s", e->name)
+						test->func(i915, eb_ring(e));
+				}
+			}
 		}
-	}
-
-        __for_each_physical_engine(i915, e) {
-                igt_subtest_group {
-                        igt_fixture
-                                gem_require_contexts(i915);
-
-			igt_subtest_f("%s-persistence", e->name)
-				test_persistence(i915, e->flags);
-
-			igt_subtest_f("%s-cleanup", e->name)
-				test_nonpersistent_cleanup(i915, e->flags);
 
-			igt_subtest_f("%s-queued", e->name)
-				test_nonpersistent_queued(i915, e->flags);
-
-			igt_subtest_f("%s-mixed", e->name)
-				test_nonpersistent_mixed(i915, e->flags);
-
-			igt_subtest_f("%s-mixed-process", e->name)
-				test_process_mixed(i915, e->flags);
+		/* Assert things are under control. */
+		igt_assert(!gem_context_has_engine_map(i915, 0));
+	}
 
-			igt_subtest_f("%s-hostile", e->name)
-				test_nonpersistent_hostile(i915, e->flags);
+	/* New way of selecting engines. */
+	igt_subtest_group {
+		const struct intel_execution_engine2 *e;
 
-			igt_subtest_f("%s-hostile-preempt", e->name)
-				test_nonpersistent_hostile_preempt(i915,
-								   e->flags);
+		igt_fixture
+			gem_require_contexts(i915);
 
-			igt_subtest_f("%s-hang", e->name)
-				test_nonpersistent_hang(i915, e->flags);
+		for (test = tests; test->name; test++) {
+			igt_subtest_with_dynamic_f("engines-%s", test->name) {
+				__for_each_physical_engine(i915, e) {
+					igt_dynamic_f("%s", e->name)
+						test->func(i915, e->flags);
+				}
+			}
 		}
-	}
 
-	igt_subtest("smoketest")
-		smoketest(i915);
+		igt_subtest("smoketest")
+			smoketest(i915);
+	}
 
 	igt_fixture {
 		close(i915);
-- 
2.20.1

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

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

* [igt-dev] ✗ GitLab.Pipeline: failure for tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
  2020-01-30 20:41 ` [igt-dev] " Tvrtko Ursulin
                   ` (3 preceding siblings ...)
  (?)
@ 2020-01-30 20:56 ` Patchwork
  -1 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2020-01-30 20:56 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: igt-dev

== Series Details ==

Series: tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
URL   : https://patchwork.freedesktop.org/series/72793/
State : failure

== Summary ==

ERROR! This series introduces new undocumented tests:

gem_ctx_persistence@engines-cleanup
gem_ctx_persistence@engines-hang
gem_ctx_persistence@engines-hostile
gem_ctx_persistence@engines-hostile-preempt
gem_ctx_persistence@engines-mixed
gem_ctx_persistence@engines-mixed-process
gem_ctx_persistence@engines-persistence
gem_ctx_persistence@engines-queued
gem_ctx_persistence@legacy-engines-cleanup
gem_ctx_persistence@legacy-engines-hang
gem_ctx_persistence@legacy-engines-hostile
gem_ctx_persistence@legacy-engines-hostile-preempt
gem_ctx_persistence@legacy-engines-mixed
gem_ctx_persistence@legacy-engines-mixed-process
gem_ctx_persistence@legacy-engines-persistence
gem_ctx_persistence@legacy-engines-queued

Can you document them as per the requirement in the [CONTRIBUTING.md]?

[Documentation] has more details on how to do this.

Here are few examples:
https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/0316695d03aa46108296b27f3982ec93200c7a6e
https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/443cc658e1e6b492ee17bf4f4d891029eb7a205d

Thanks in advance!

[CONTRIBUTING.md]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/blob/master/CONTRIBUTING.md#L19
[Documentation]: https://drm.pages.freedesktop.org/igt-gpu-tools/igt-gpu-tools-Core.html#igt-describe

Other than that, pipeline status: SUCCESS.

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

== Logs ==

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

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

* Re: [Intel-gfx] [PATCH i-g-t] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
  2020-01-30 20:47   ` [igt-dev] " Chris Wilson
@ 2020-01-30 20:56     ` Tvrtko Ursulin
  -1 siblings, 0 replies; 26+ messages in thread
From: Tvrtko Ursulin @ 2020-01-30 20:56 UTC (permalink / raw)
  To: Chris Wilson, igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx


On 30/01/2020 20:47, Chris Wilson wrote:
> Quoting Tvrtko Ursulin (2020-01-30 20:41:24)
>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>
>> Converts all per-engine tests into dynamic subtests and in the process:
>>
>>   * Put back I915_EXEC_BSD legacy coverage.
>>   * Remove one added static engine list usage.
>>   * Compact code by driving two groups of the name/func table.
>>
>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> Cc: Bommu Krishnaiah <krishnaiah.bommu@intel.com>
>> ---
>>   tests/i915/gem_ctx_persistence.c | 97 +++++++++++++-------------------
>>   1 file changed, 39 insertions(+), 58 deletions(-)
>>
>> diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
>> index 8b9633b214ff..0d5b22d2b162 100644
>> --- a/tests/i915/gem_ctx_persistence.c
>> +++ b/tests/i915/gem_ctx_persistence.c
>> @@ -759,7 +759,20 @@ static void smoketest(int i915)
>>   
>>   igt_main
>>   {
>> -       const struct intel_execution_engine2 *e;
>> +       struct {
>> +               const char *name;
>> +               void (*func)(int fd, unsigned int engine);
>> +       } *test, tests[] = {
>> +               { "persistence", test_persistence },
>> +               { "cleanup", test_nonpersistent_cleanup },
>> +               { "queued", test_nonpersistent_queued },
>> +               { "mixed", test_nonpersistent_mixed },
>> +               { "mixed-process", test_process_mixed },
>> +               { "hostile", test_nonpersistent_hostile },
>> +               { "hostile-preempt", test_nonpersistent_hostile_preempt },
>> +               { "hang", test_nonpersistent_hang },
>> +               { NULL, NULL },
> 
> Heh, that's what I was tempted to suggest but did want to seem like I
> was requesting too much :)

Yeah, much less typing, especially with dynamic subtests.

> 
>> +       };
>>          int i915;
>>   
>>          igt_fixture {
>> @@ -792,72 +805,40 @@ igt_main
>>          igt_subtest("hang")
>>                  test_nohangcheck_hang(i915);
>>   
>> -       __for_each_static_engine(e) {
>> -               igt_subtest_group {
>> -                       igt_fixture {
>> -                               gem_require_ring(i915, e->flags);
>> -                               gem_require_contexts(i915);
>> -                       }
>> -
>> -                       igt_subtest_f("legacy-%s-persistence", e->name)
>> -                               test_persistence(i915, e->flags);
>> -
>> -                       igt_subtest_f("legacy-%s-cleanup", e->name)
>> -                               test_nonpersistent_cleanup(i915, e->flags);
>> -
>> -                       igt_subtest_f("legacy-%s-queued", e->name)
>> -                               test_nonpersistent_queued(i915, e->flags);
>> -
>> -                       igt_subtest_f("legacy-%s-mixed", e->name)
>> -                               test_nonpersistent_mixed(i915, e->flags);
>> -
>> -                       igt_subtest_f("legacy-%s-mixed-process", e->name)
>> -                               test_process_mixed(i915, e->flags);
>> -
>> -                       igt_subtest_f("legacy-%s-hostile", e->name)
>> -                               test_nonpersistent_hostile(i915, e->flags);
>> +       igt_subtest("smoketest")
>> +               smoketest(i915);
>>   
>> -                       igt_subtest_f("legacy-%s-hostile-preempt", e->name)
>> -                               test_nonpersistent_hostile_preempt(i915,
>> -                                                                  e->flags);
>> +       igt_subtest_group {
>> +               igt_fixture
>> +                       gem_require_contexts(i915);
>> +
>> +               for (test = tests; test->name; test++) {
>> +                       igt_subtest_with_dynamic_f("legacy-engines-%s",
>> +                                                  test->name) {
>> +                               for_each_engine(e, i915) {
> 
> Don't we need a
>    if (!gem_has_ring(i915, eb_ring(e)) continue;
> here?

It's built in to for_each_engine, yay for dynamic subtests! :)

> 
>> +                                       igt_dynamic_f("%s", e->name)
>> +                                               test->func(i915, eb_ring(e));
>> +                               }
>> +                       }
>>                  }
>>          }
>>   
>> -        __for_each_physical_engine(i915, e) {
>> -                igt_subtest_group {
>> -                        igt_fixture
>> -                                gem_require_contexts(i915);
>> -
>> -                       igt_subtest_f("%s-persistence", e->name)
>> -                               test_persistence(i915, e->flags);
>> -
>> -                       igt_subtest_f("%s-cleanup", e->name)
>> -                               test_nonpersistent_cleanup(i915, e->flags);
>> -
>> -                       igt_subtest_f("%s-queued", e->name)
>> -                               test_nonpersistent_queued(i915, e->flags);
>> -
>> -                       igt_subtest_f("%s-mixed", e->name)
>> -                               test_nonpersistent_mixed(i915, e->flags);
>> -
>> -                       igt_subtest_f("%s-mixed-process", e->name)
>> -                               test_process_mixed(i915, e->flags);
>> +       igt_subtest_group {
>> +               const struct intel_execution_engine2 *e;
>>   
>> -                       igt_subtest_f("%s-hostile", e->name)
>> -                               test_nonpersistent_hostile(i915, e->flags);
>> +               igt_fixture
>> +                       gem_require_contexts(i915);
>>   
>> -                       igt_subtest_f("%s-hostile-preempt", e->name)
>> -                               test_nonpersistent_hostile_preempt(i915,
>> -                                                                  e->flags);
>> -
>> -                       igt_subtest_f("%s-hang", e->name)
>> -                               test_nonpersistent_hang(i915, e->flags);
>> +               for (test = tests; test->name; test++) {
>> +                       igt_subtest_with_dynamic_f("engines-%s", test->name) {
>> +                               __for_each_physical_engine(i915, e) {
>> +                                       igt_dynamic_f("%s", e->name)
>> +                                               test->func(i915, e->flags);
>> +                               }
>> +                       }
>>                  }
> 
> Then I had a plan to add the pathological engines[] here.

Will see later what you exactly mean.

Regards,

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

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

* Re: [igt-dev] [Intel-gfx] [PATCH i-g-t] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
@ 2020-01-30 20:56     ` Tvrtko Ursulin
  0 siblings, 0 replies; 26+ messages in thread
From: Tvrtko Ursulin @ 2020-01-30 20:56 UTC (permalink / raw)
  To: Chris Wilson, igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx


On 30/01/2020 20:47, Chris Wilson wrote:
> Quoting Tvrtko Ursulin (2020-01-30 20:41:24)
>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>
>> Converts all per-engine tests into dynamic subtests and in the process:
>>
>>   * Put back I915_EXEC_BSD legacy coverage.
>>   * Remove one added static engine list usage.
>>   * Compact code by driving two groups of the name/func table.
>>
>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> Cc: Bommu Krishnaiah <krishnaiah.bommu@intel.com>
>> ---
>>   tests/i915/gem_ctx_persistence.c | 97 +++++++++++++-------------------
>>   1 file changed, 39 insertions(+), 58 deletions(-)
>>
>> diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
>> index 8b9633b214ff..0d5b22d2b162 100644
>> --- a/tests/i915/gem_ctx_persistence.c
>> +++ b/tests/i915/gem_ctx_persistence.c
>> @@ -759,7 +759,20 @@ static void smoketest(int i915)
>>   
>>   igt_main
>>   {
>> -       const struct intel_execution_engine2 *e;
>> +       struct {
>> +               const char *name;
>> +               void (*func)(int fd, unsigned int engine);
>> +       } *test, tests[] = {
>> +               { "persistence", test_persistence },
>> +               { "cleanup", test_nonpersistent_cleanup },
>> +               { "queued", test_nonpersistent_queued },
>> +               { "mixed", test_nonpersistent_mixed },
>> +               { "mixed-process", test_process_mixed },
>> +               { "hostile", test_nonpersistent_hostile },
>> +               { "hostile-preempt", test_nonpersistent_hostile_preempt },
>> +               { "hang", test_nonpersistent_hang },
>> +               { NULL, NULL },
> 
> Heh, that's what I was tempted to suggest but did want to seem like I
> was requesting too much :)

Yeah, much less typing, especially with dynamic subtests.

> 
>> +       };
>>          int i915;
>>   
>>          igt_fixture {
>> @@ -792,72 +805,40 @@ igt_main
>>          igt_subtest("hang")
>>                  test_nohangcheck_hang(i915);
>>   
>> -       __for_each_static_engine(e) {
>> -               igt_subtest_group {
>> -                       igt_fixture {
>> -                               gem_require_ring(i915, e->flags);
>> -                               gem_require_contexts(i915);
>> -                       }
>> -
>> -                       igt_subtest_f("legacy-%s-persistence", e->name)
>> -                               test_persistence(i915, e->flags);
>> -
>> -                       igt_subtest_f("legacy-%s-cleanup", e->name)
>> -                               test_nonpersistent_cleanup(i915, e->flags);
>> -
>> -                       igt_subtest_f("legacy-%s-queued", e->name)
>> -                               test_nonpersistent_queued(i915, e->flags);
>> -
>> -                       igt_subtest_f("legacy-%s-mixed", e->name)
>> -                               test_nonpersistent_mixed(i915, e->flags);
>> -
>> -                       igt_subtest_f("legacy-%s-mixed-process", e->name)
>> -                               test_process_mixed(i915, e->flags);
>> -
>> -                       igt_subtest_f("legacy-%s-hostile", e->name)
>> -                               test_nonpersistent_hostile(i915, e->flags);
>> +       igt_subtest("smoketest")
>> +               smoketest(i915);
>>   
>> -                       igt_subtest_f("legacy-%s-hostile-preempt", e->name)
>> -                               test_nonpersistent_hostile_preempt(i915,
>> -                                                                  e->flags);
>> +       igt_subtest_group {
>> +               igt_fixture
>> +                       gem_require_contexts(i915);
>> +
>> +               for (test = tests; test->name; test++) {
>> +                       igt_subtest_with_dynamic_f("legacy-engines-%s",
>> +                                                  test->name) {
>> +                               for_each_engine(e, i915) {
> 
> Don't we need a
>    if (!gem_has_ring(i915, eb_ring(e)) continue;
> here?

It's built in to for_each_engine, yay for dynamic subtests! :)

> 
>> +                                       igt_dynamic_f("%s", e->name)
>> +                                               test->func(i915, eb_ring(e));
>> +                               }
>> +                       }
>>                  }
>>          }
>>   
>> -        __for_each_physical_engine(i915, e) {
>> -                igt_subtest_group {
>> -                        igt_fixture
>> -                                gem_require_contexts(i915);
>> -
>> -                       igt_subtest_f("%s-persistence", e->name)
>> -                               test_persistence(i915, e->flags);
>> -
>> -                       igt_subtest_f("%s-cleanup", e->name)
>> -                               test_nonpersistent_cleanup(i915, e->flags);
>> -
>> -                       igt_subtest_f("%s-queued", e->name)
>> -                               test_nonpersistent_queued(i915, e->flags);
>> -
>> -                       igt_subtest_f("%s-mixed", e->name)
>> -                               test_nonpersistent_mixed(i915, e->flags);
>> -
>> -                       igt_subtest_f("%s-mixed-process", e->name)
>> -                               test_process_mixed(i915, e->flags);
>> +       igt_subtest_group {
>> +               const struct intel_execution_engine2 *e;
>>   
>> -                       igt_subtest_f("%s-hostile", e->name)
>> -                               test_nonpersistent_hostile(i915, e->flags);
>> +               igt_fixture
>> +                       gem_require_contexts(i915);
>>   
>> -                       igt_subtest_f("%s-hostile-preempt", e->name)
>> -                               test_nonpersistent_hostile_preempt(i915,
>> -                                                                  e->flags);
>> -
>> -                       igt_subtest_f("%s-hang", e->name)
>> -                               test_nonpersistent_hang(i915, e->flags);
>> +               for (test = tests; test->name; test++) {
>> +                       igt_subtest_with_dynamic_f("engines-%s", test->name) {
>> +                               __for_each_physical_engine(i915, e) {
>> +                                       igt_dynamic_f("%s", e->name)
>> +                                               test->func(i915, e->flags);
>> +                               }
>> +                       }
>>                  }
> 
> Then I had a plan to add the pathological engines[] here.

Will see later what you exactly mean.

Regards,

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

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

* Re: [Intel-gfx] [PATCH i-g-t v2] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
  2020-01-30 20:52 ` [Intel-gfx] [PATCH i-g-t v2] " Tvrtko Ursulin
@ 2020-01-30 20:56     ` Chris Wilson
  0 siblings, 0 replies; 26+ messages in thread
From: Chris Wilson @ 2020-01-30 20:56 UTC (permalink / raw)
  To: Tvrtko Ursulin, igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx

Quoting Tvrtko Ursulin (2020-01-30 20:52:56)
> @@ -772,91 +787,64 @@ igt_main
>                 igt_allow_hang(i915, 0, 0);
>         }
>  
> -       igt_subtest("idempotent")
> -               test_idempotent(i915);
> -
> -       igt_subtest("clone")
> -               test_clone(i915);
> -
> -       igt_subtest("file")
> -               test_nonpersistent_file(i915);
> -
> -       igt_subtest("process")
> -               test_process(i915);
> -
> -       igt_subtest("processes")
> -               test_processes(i915);
> -
> -       igt_subtest("hostile")
> -               test_nohangcheck_hostile(i915);
> -       igt_subtest("hang")
> -               test_nohangcheck_hang(i915);

Could we keep these outside of the engine subtest groups?
I'd like to keep them distinct as they aren't written with verifying
engines per se, but the general context parameter.

There should be per-engine equivalents to the above already where
appropriate.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [igt-dev] [Intel-gfx] [PATCH i-g-t v2] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
@ 2020-01-30 20:56     ` Chris Wilson
  0 siblings, 0 replies; 26+ messages in thread
From: Chris Wilson @ 2020-01-30 20:56 UTC (permalink / raw)
  To: Tvrtko Ursulin, igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx

Quoting Tvrtko Ursulin (2020-01-30 20:52:56)
> @@ -772,91 +787,64 @@ igt_main
>                 igt_allow_hang(i915, 0, 0);
>         }
>  
> -       igt_subtest("idempotent")
> -               test_idempotent(i915);
> -
> -       igt_subtest("clone")
> -               test_clone(i915);
> -
> -       igt_subtest("file")
> -               test_nonpersistent_file(i915);
> -
> -       igt_subtest("process")
> -               test_process(i915);
> -
> -       igt_subtest("processes")
> -               test_processes(i915);
> -
> -       igt_subtest("hostile")
> -               test_nohangcheck_hostile(i915);
> -       igt_subtest("hang")
> -               test_nohangcheck_hang(i915);

Could we keep these outside of the engine subtest groups?
I'd like to keep them distinct as they aren't written with verifying
engines per se, but the general context parameter.

There should be per-engine equivalents to the above already where
appropriate.
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [Intel-gfx] [PATCH i-g-t v2] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
  2020-01-30 20:56     ` [igt-dev] " Chris Wilson
@ 2020-01-30 20:59       ` Tvrtko Ursulin
  -1 siblings, 0 replies; 26+ messages in thread
From: Tvrtko Ursulin @ 2020-01-30 20:59 UTC (permalink / raw)
  To: Chris Wilson, igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx


On 30/01/2020 20:56, Chris Wilson wrote:
> Quoting Tvrtko Ursulin (2020-01-30 20:52:56)
>> @@ -772,91 +787,64 @@ igt_main
>>                  igt_allow_hang(i915, 0, 0);
>>          }
>>   
>> -       igt_subtest("idempotent")
>> -               test_idempotent(i915);
>> -
>> -       igt_subtest("clone")
>> -               test_clone(i915);
>> -
>> -       igt_subtest("file")
>> -               test_nonpersistent_file(i915);
>> -
>> -       igt_subtest("process")
>> -               test_process(i915);
>> -
>> -       igt_subtest("processes")
>> -               test_processes(i915);
>> -
>> -       igt_subtest("hostile")
>> -               test_nohangcheck_hostile(i915);
>> -       igt_subtest("hang")
>> -               test_nohangcheck_hang(i915);
> 
> Could we keep these outside of the engine subtest groups?
> I'd like to keep them distinct as they aren't written with verifying
> engines per se, but the general context parameter.
> 
> There should be per-engine equivalents to the above already where
> appropriate.

Depends how you look at it, I envisioned two subgroups as telling me 
when the default context is really default and when it has been 
configured with an engine map.

Oh right contexts... okay I need a third subgroup.

Regards,

Tvrtko


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

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

* Re: [igt-dev] [Intel-gfx] [PATCH i-g-t v2] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
@ 2020-01-30 20:59       ` Tvrtko Ursulin
  0 siblings, 0 replies; 26+ messages in thread
From: Tvrtko Ursulin @ 2020-01-30 20:59 UTC (permalink / raw)
  To: Chris Wilson, igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx


On 30/01/2020 20:56, Chris Wilson wrote:
> Quoting Tvrtko Ursulin (2020-01-30 20:52:56)
>> @@ -772,91 +787,64 @@ igt_main
>>                  igt_allow_hang(i915, 0, 0);
>>          }
>>   
>> -       igt_subtest("idempotent")
>> -               test_idempotent(i915);
>> -
>> -       igt_subtest("clone")
>> -               test_clone(i915);
>> -
>> -       igt_subtest("file")
>> -               test_nonpersistent_file(i915);
>> -
>> -       igt_subtest("process")
>> -               test_process(i915);
>> -
>> -       igt_subtest("processes")
>> -               test_processes(i915);
>> -
>> -       igt_subtest("hostile")
>> -               test_nohangcheck_hostile(i915);
>> -       igt_subtest("hang")
>> -               test_nohangcheck_hang(i915);
> 
> Could we keep these outside of the engine subtest groups?
> I'd like to keep them distinct as they aren't written with verifying
> engines per se, but the general context parameter.
> 
> There should be per-engine equivalents to the above already where
> appropriate.

Depends how you look at it, I envisioned two subgroups as telling me 
when the default context is really default and when it has been 
configured with an engine map.

Oh right contexts... okay I need a third subgroup.

Regards,

Tvrtko


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

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

* [Intel-gfx] [PATCH i-g-t v3] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
  2020-01-30 20:41 ` [igt-dev] " Tvrtko Ursulin
@ 2020-01-30 21:01   ` Tvrtko Ursulin
  -1 siblings, 0 replies; 26+ messages in thread
From: Tvrtko Ursulin @ 2020-01-30 21:01 UTC (permalink / raw)
  To: igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx

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

Converts all per-engine tests into dynamic subtests and in the process:

 * Put back I915_EXEC_BSD legacy coverage.
 * Remove one added static engine list usage.
 * Compact code by driving two groups of the name/func table.

v2:
 * Convert smoketest to proper all engines.

v3:
 * Undo subgroup mistake. (Chris)

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Bommu Krishnaiah <krishnaiah.bommu@intel.com>
---
 tests/i915/gem_ctx_persistence.c | 110 ++++++++++++++-----------------
 1 file changed, 50 insertions(+), 60 deletions(-)

diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
index 8b9633b214ff..67bee72da6ca 100644
--- a/tests/i915/gem_ctx_persistence.c
+++ b/tests/i915/gem_ctx_persistence.c
@@ -693,6 +693,7 @@ static void __smoker(int i915, unsigned int engine, int expected)
 	int fd, extra;
 
 	fd = gem_reopen_driver(i915);
+	gem_context_copy_engines(i915, 0, fd, 0);
 	gem_context_set_persistence(fd, 0, expected > 0);
 	spin = igt_spin_new(fd, .engine = engine, .flags = IGT_SPIN_FENCE_OUT);
 
@@ -721,7 +722,7 @@ static void __smoker(int i915, unsigned int engine, int expected)
 	}
 
 	spin->handle = 0;
-	igt_spin_free(i915, spin);
+	igt_spin_free(fd, spin);
 }
 
 static void smoker(int i915, unsigned int engine, unsigned int *ctl)
@@ -734,6 +735,7 @@ static void smoker(int i915, unsigned int engine, unsigned int *ctl)
 
 static void smoketest(int i915)
 {
+	const struct intel_execution_engine2 *e;
 	uint32_t *ctl;
 
 	/*
@@ -744,9 +746,9 @@ static void smoketest(int i915)
 	ctl = mmap(0, 4096, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
 	igt_assert(ctl != MAP_FAILED);
 
-	for_each_physical_engine(e, i915) {
+	__for_each_physical_engine(i915, e) {
 		igt_fork(child, 4)
-			smoker(i915, eb_ring(e), ctl);
+			smoker(i915, e->flags, ctl);
 	}
 
 	sleep(20);
@@ -759,7 +761,20 @@ static void smoketest(int i915)
 
 igt_main
 {
-	const struct intel_execution_engine2 *e;
+	struct {
+		const char *name;
+		void (*func)(int fd, unsigned int engine);
+	} *test, tests[] = {
+		{ "persistence", test_persistence },
+		{ "cleanup", test_nonpersistent_cleanup },
+		{ "queued", test_nonpersistent_queued },
+		{ "mixed", test_nonpersistent_mixed },
+		{ "mixed-process", test_process_mixed },
+		{ "hostile", test_nonpersistent_hostile },
+		{ "hostile-preempt", test_nonpersistent_hostile_preempt },
+		{ "hang", test_nonpersistent_hang },
+		{ NULL, NULL },
+	};
 	int i915;
 
 	igt_fixture {
@@ -772,6 +787,8 @@ igt_main
 		igt_allow_hang(i915, 0, 0);
 	}
 
+	/* Legacy execbuf engine selection flags. */
+
 	igt_subtest("idempotent")
 		test_idempotent(i915);
 
@@ -792,71 +809,44 @@ igt_main
 	igt_subtest("hang")
 		test_nohangcheck_hang(i915);
 
-	__for_each_static_engine(e) {
-		igt_subtest_group {
-			igt_fixture {
-				gem_require_ring(i915, e->flags);
-				gem_require_contexts(i915);
+	igt_subtest_group {
+		igt_fixture
+			gem_require_contexts(i915);
+
+		for (test = tests; test->name; test++) {
+			igt_subtest_with_dynamic_f("legacy-engines-%s",
+						   test->name) {
+				for_each_engine(e, i915) {
+					igt_dynamic_f("%s", e->name)
+						test->func(i915, eb_ring(e));
+				}
 			}
-
-			igt_subtest_f("legacy-%s-persistence", e->name)
-				test_persistence(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-cleanup", e->name)
-				test_nonpersistent_cleanup(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-queued", e->name)
-				test_nonpersistent_queued(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-mixed", e->name)
-				test_nonpersistent_mixed(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-mixed-process", e->name)
-				test_process_mixed(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-hostile", e->name)
-				test_nonpersistent_hostile(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-hostile-preempt", e->name)
-				test_nonpersistent_hostile_preempt(i915,
-								   e->flags);
 		}
-	}
-
-        __for_each_physical_engine(i915, e) {
-                igt_subtest_group {
-                        igt_fixture
-                                gem_require_contexts(i915);
-
-			igt_subtest_f("%s-persistence", e->name)
-				test_persistence(i915, e->flags);
-
-			igt_subtest_f("%s-cleanup", e->name)
-				test_nonpersistent_cleanup(i915, e->flags);
 
-			igt_subtest_f("%s-queued", e->name)
-				test_nonpersistent_queued(i915, e->flags);
-
-			igt_subtest_f("%s-mixed", e->name)
-				test_nonpersistent_mixed(i915, e->flags);
+		/* Assert things are under control. */
+		igt_assert(!gem_context_has_engine_map(i915, 0));
+	}
 
-			igt_subtest_f("%s-mixed-process", e->name)
-				test_process_mixed(i915, e->flags);
+	/* New way of selecting engines. */
 
-			igt_subtest_f("%s-hostile", e->name)
-				test_nonpersistent_hostile(i915, e->flags);
+	igt_subtest_group {
+		const struct intel_execution_engine2 *e;
 
-			igt_subtest_f("%s-hostile-preempt", e->name)
-				test_nonpersistent_hostile_preempt(i915,
-								   e->flags);
+		igt_fixture
+			gem_require_contexts(i915);
 
-			igt_subtest_f("%s-hang", e->name)
-				test_nonpersistent_hang(i915, e->flags);
+		for (test = tests; test->name; test++) {
+			igt_subtest_with_dynamic_f("engines-%s", test->name) {
+				__for_each_physical_engine(i915, e) {
+					igt_dynamic_f("%s", e->name)
+						test->func(i915, e->flags);
+				}
+			}
 		}
-	}
 
-	igt_subtest("smoketest")
-		smoketest(i915);
+		igt_subtest("smoketest")
+			smoketest(i915);
+	}
 
 	igt_fixture {
 		close(i915);
-- 
2.20.1

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

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

* [igt-dev] [PATCH i-g-t v3] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
@ 2020-01-30 21:01   ` Tvrtko Ursulin
  0 siblings, 0 replies; 26+ messages in thread
From: Tvrtko Ursulin @ 2020-01-30 21:01 UTC (permalink / raw)
  To: igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx, Tvrtko Ursulin

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

Converts all per-engine tests into dynamic subtests and in the process:

 * Put back I915_EXEC_BSD legacy coverage.
 * Remove one added static engine list usage.
 * Compact code by driving two groups of the name/func table.

v2:
 * Convert smoketest to proper all engines.

v3:
 * Undo subgroup mistake. (Chris)

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Bommu Krishnaiah <krishnaiah.bommu@intel.com>
---
 tests/i915/gem_ctx_persistence.c | 110 ++++++++++++++-----------------
 1 file changed, 50 insertions(+), 60 deletions(-)

diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
index 8b9633b214ff..67bee72da6ca 100644
--- a/tests/i915/gem_ctx_persistence.c
+++ b/tests/i915/gem_ctx_persistence.c
@@ -693,6 +693,7 @@ static void __smoker(int i915, unsigned int engine, int expected)
 	int fd, extra;
 
 	fd = gem_reopen_driver(i915);
+	gem_context_copy_engines(i915, 0, fd, 0);
 	gem_context_set_persistence(fd, 0, expected > 0);
 	spin = igt_spin_new(fd, .engine = engine, .flags = IGT_SPIN_FENCE_OUT);
 
@@ -721,7 +722,7 @@ static void __smoker(int i915, unsigned int engine, int expected)
 	}
 
 	spin->handle = 0;
-	igt_spin_free(i915, spin);
+	igt_spin_free(fd, spin);
 }
 
 static void smoker(int i915, unsigned int engine, unsigned int *ctl)
@@ -734,6 +735,7 @@ static void smoker(int i915, unsigned int engine, unsigned int *ctl)
 
 static void smoketest(int i915)
 {
+	const struct intel_execution_engine2 *e;
 	uint32_t *ctl;
 
 	/*
@@ -744,9 +746,9 @@ static void smoketest(int i915)
 	ctl = mmap(0, 4096, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
 	igt_assert(ctl != MAP_FAILED);
 
-	for_each_physical_engine(e, i915) {
+	__for_each_physical_engine(i915, e) {
 		igt_fork(child, 4)
-			smoker(i915, eb_ring(e), ctl);
+			smoker(i915, e->flags, ctl);
 	}
 
 	sleep(20);
@@ -759,7 +761,20 @@ static void smoketest(int i915)
 
 igt_main
 {
-	const struct intel_execution_engine2 *e;
+	struct {
+		const char *name;
+		void (*func)(int fd, unsigned int engine);
+	} *test, tests[] = {
+		{ "persistence", test_persistence },
+		{ "cleanup", test_nonpersistent_cleanup },
+		{ "queued", test_nonpersistent_queued },
+		{ "mixed", test_nonpersistent_mixed },
+		{ "mixed-process", test_process_mixed },
+		{ "hostile", test_nonpersistent_hostile },
+		{ "hostile-preempt", test_nonpersistent_hostile_preempt },
+		{ "hang", test_nonpersistent_hang },
+		{ NULL, NULL },
+	};
 	int i915;
 
 	igt_fixture {
@@ -772,6 +787,8 @@ igt_main
 		igt_allow_hang(i915, 0, 0);
 	}
 
+	/* Legacy execbuf engine selection flags. */
+
 	igt_subtest("idempotent")
 		test_idempotent(i915);
 
@@ -792,71 +809,44 @@ igt_main
 	igt_subtest("hang")
 		test_nohangcheck_hang(i915);
 
-	__for_each_static_engine(e) {
-		igt_subtest_group {
-			igt_fixture {
-				gem_require_ring(i915, e->flags);
-				gem_require_contexts(i915);
+	igt_subtest_group {
+		igt_fixture
+			gem_require_contexts(i915);
+
+		for (test = tests; test->name; test++) {
+			igt_subtest_with_dynamic_f("legacy-engines-%s",
+						   test->name) {
+				for_each_engine(e, i915) {
+					igt_dynamic_f("%s", e->name)
+						test->func(i915, eb_ring(e));
+				}
 			}
-
-			igt_subtest_f("legacy-%s-persistence", e->name)
-				test_persistence(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-cleanup", e->name)
-				test_nonpersistent_cleanup(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-queued", e->name)
-				test_nonpersistent_queued(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-mixed", e->name)
-				test_nonpersistent_mixed(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-mixed-process", e->name)
-				test_process_mixed(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-hostile", e->name)
-				test_nonpersistent_hostile(i915, e->flags);
-
-			igt_subtest_f("legacy-%s-hostile-preempt", e->name)
-				test_nonpersistent_hostile_preempt(i915,
-								   e->flags);
 		}
-	}
-
-        __for_each_physical_engine(i915, e) {
-                igt_subtest_group {
-                        igt_fixture
-                                gem_require_contexts(i915);
-
-			igt_subtest_f("%s-persistence", e->name)
-				test_persistence(i915, e->flags);
-
-			igt_subtest_f("%s-cleanup", e->name)
-				test_nonpersistent_cleanup(i915, e->flags);
 
-			igt_subtest_f("%s-queued", e->name)
-				test_nonpersistent_queued(i915, e->flags);
-
-			igt_subtest_f("%s-mixed", e->name)
-				test_nonpersistent_mixed(i915, e->flags);
+		/* Assert things are under control. */
+		igt_assert(!gem_context_has_engine_map(i915, 0));
+	}
 
-			igt_subtest_f("%s-mixed-process", e->name)
-				test_process_mixed(i915, e->flags);
+	/* New way of selecting engines. */
 
-			igt_subtest_f("%s-hostile", e->name)
-				test_nonpersistent_hostile(i915, e->flags);
+	igt_subtest_group {
+		const struct intel_execution_engine2 *e;
 
-			igt_subtest_f("%s-hostile-preempt", e->name)
-				test_nonpersistent_hostile_preempt(i915,
-								   e->flags);
+		igt_fixture
+			gem_require_contexts(i915);
 
-			igt_subtest_f("%s-hang", e->name)
-				test_nonpersistent_hang(i915, e->flags);
+		for (test = tests; test->name; test++) {
+			igt_subtest_with_dynamic_f("engines-%s", test->name) {
+				__for_each_physical_engine(i915, e) {
+					igt_dynamic_f("%s", e->name)
+						test->func(i915, e->flags);
+				}
+			}
 		}
-	}
 
-	igt_subtest("smoketest")
-		smoketest(i915);
+		igt_subtest("smoketest")
+			smoketest(i915);
+	}
 
 	igt_fixture {
 		close(i915);
-- 
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] 26+ messages in thread

* Re: [Intel-gfx] [igt-dev] [PATCH i-g-t v3] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
  2020-01-30 21:01   ` [igt-dev] " Tvrtko Ursulin
@ 2020-01-30 21:07     ` Chris Wilson
  -1 siblings, 0 replies; 26+ messages in thread
From: Chris Wilson @ 2020-01-30 21:07 UTC (permalink / raw)
  To: Tvrtko Ursulin, igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx

Quoting Tvrtko Ursulin (2020-01-30 21:01:25)
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> Converts all per-engine tests into dynamic subtests and in the process:
> 
>  * Put back I915_EXEC_BSD legacy coverage.
>  * Remove one added static engine list usage.
>  * Compact code by driving two groups of the name/func table.
> 
> v2:
>  * Convert smoketest to proper all engines.
> 
> v3:
>  * Undo subgroup mistake. (Chris)
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Bommu Krishnaiah <krishnaiah.bommu@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [igt-dev] [PATCH i-g-t v3] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
@ 2020-01-30 21:07     ` Chris Wilson
  0 siblings, 0 replies; 26+ messages in thread
From: Chris Wilson @ 2020-01-30 21:07 UTC (permalink / raw)
  To: Tvrtko Ursulin, igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx, Tvrtko Ursulin

Quoting Tvrtko Ursulin (2020-01-30 21:01:25)
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> Converts all per-engine tests into dynamic subtests and in the process:
> 
>  * Put back I915_EXEC_BSD legacy coverage.
>  * Remove one added static engine list usage.
>  * Compact code by driving two groups of the name/func table.
> 
> v2:
>  * Convert smoketest to proper all engines.
> 
> v3:
>  * Undo subgroup mistake. (Chris)
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Bommu Krishnaiah <krishnaiah.bommu@intel.com>
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] 26+ messages in thread

* [igt-dev] ✗ Fi.CI.BAT: failure for tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
  2020-01-30 20:41 ` [igt-dev] " Tvrtko Ursulin
                   ` (5 preceding siblings ...)
  (?)
@ 2020-01-30 21:16 ` Patchwork
  -1 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2020-01-30 21:16 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: igt-dev

== Series Details ==

Series: tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
URL   : https://patchwork.freedesktop.org/series/72793/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_7845 -> IGTPW_4046
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_4046 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_4046, 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_4046/index.html

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live_hangcheck:
    - fi-hsw-peppy:       NOTRUN -> [TIMEOUT][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4046/fi-hsw-peppy/igt@i915_selftest@live_hangcheck.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_close_race@basic-threads:
    - fi-byt-j1900:       [PASS][2] -> [TIMEOUT][3] ([fdo#112271] / [i915#1084] / [i915#816])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/fi-byt-j1900/igt@gem_close_race@basic-threads.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4046/fi-byt-j1900/igt@gem_close_race@basic-threads.html

  * igt@i915_pm_rpm@basic-rte:
    - fi-hsw-4770:        [PASS][4] -> [SKIP][5] ([fdo#109271]) +1 similar issue
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/fi-hsw-4770/igt@i915_pm_rpm@basic-rte.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4046/fi-hsw-4770/igt@i915_pm_rpm@basic-rte.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [PASS][6] -> [FAIL][7] ([fdo#111096] / [i915#323])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4046/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  * igt@prime_self_import@basic-llseek-bad:
    - fi-tgl-y:           [PASS][8] -> [DMESG-WARN][9] ([CI#94] / [i915#402]) +1 similar issue
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/fi-tgl-y/igt@prime_self_import@basic-llseek-bad.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4046/fi-tgl-y/igt@prime_self_import@basic-llseek-bad.html

  
#### Possible fixes ####

  * igt@gem_ctx_create@basic-files:
    - fi-icl-guc:         [INCOMPLETE][10] ([fdo#109100]) -> [PASS][11]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/fi-icl-guc/igt@gem_ctx_create@basic-files.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4046/fi-icl-guc/igt@gem_ctx_create@basic-files.html

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-tgl-y:           [FAIL][12] ([CI#94]) -> [PASS][13]
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/fi-tgl-y/igt@gem_exec_suspend@basic-s4-devices.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4046/fi-tgl-y/igt@gem_exec_suspend@basic-s4-devices.html

  * igt@i915_getparams_basic@basic-subslice-total:
    - fi-tgl-y:           [DMESG-WARN][14] ([CI#94] / [i915#402]) -> [PASS][15] +1 similar issue
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/fi-tgl-y/igt@i915_getparams_basic@basic-subslice-total.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4046/fi-tgl-y/igt@i915_getparams_basic@basic-subslice-total.html

  * igt@i915_selftest@live_blt:
    - fi-ivb-3770:        [DMESG-FAIL][16] ([i915#725]) -> [PASS][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/fi-ivb-3770/igt@i915_selftest@live_blt.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4046/fi-ivb-3770/igt@i915_selftest@live_blt.html

  
#### Warnings ####

  * igt@gem_exec_parallel@contexts:
    - fi-byt-n2820:       [TIMEOUT][18] ([fdo#112271] / [i915#1084]) -> [FAIL][19] ([i915#694])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/fi-byt-n2820/igt@gem_exec_parallel@contexts.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4046/fi-byt-n2820/igt@gem_exec_parallel@contexts.html

  
  [CI#94]: https://gitlab.freedesktop.org/gfx-ci/i915-infra/issues/94
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
  [i915#1084]: https://gitlab.freedesktop.org/drm/intel/issues/1084
  [i915#323]: https://gitlab.freedesktop.org/drm/intel/issues/323
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
  [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
  [i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725
  [i915#816]: https://gitlab.freedesktop.org/drm/intel/issues/816


Participating hosts (45 -> 42)
------------------------------

  Additional (9): fi-kbl-soraka fi-hsw-peppy fi-bdw-gvtdvm fi-bwr-2160 fi-ilk-650 fi-elk-e7500 fi-blb-e6850 fi-bsw-nick fi-skl-6600u 
  Missing    (12): fi-icl-1065g7 fi-cml-u2 fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-cfl-8700k fi-snb-2520m fi-bsw-kefka fi-kbl-7560u fi-byt-clapper fi-bdw-samus fi-snb-2600 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5407 -> IGTPW_4046

  CI-20190529: 20190529
  CI_DRM_7845: 87712fc2ff1634223e993da943bc3c9c7ce96bad @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4046: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4046/index.html
  IGT_5407: a9d69f51dadbcbc53527671f87572d05c3370cba @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+++ 16 lines
--- 90 lines

== Logs ==

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

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

* Re: [Intel-gfx] [PATCH i-g-t] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
  2020-01-30 20:56     ` [igt-dev] " Tvrtko Ursulin
@ 2020-01-30 21:17       ` Chris Wilson
  -1 siblings, 0 replies; 26+ messages in thread
From: Chris Wilson @ 2020-01-30 21:17 UTC (permalink / raw)
  To: Tvrtko Ursulin, igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx

Quoting Tvrtko Ursulin (2020-01-30 20:56:23)
> 
> On 30/01/2020 20:47, Chris Wilson wrote:
> > Quoting Tvrtko Ursulin (2020-01-30 20:41:24)
> > Then I had a plan to add the pathological engines[] here.
> 
> Will see later what you exactly mean.

        for_each_gem_engine(ce, __context_engines_static(ctx), it) {
                struct intel_engine_cs *engine;

                if (intel_context_set_banned(ce))
                        continue;

                engine = active_engine(ce);

That's the bit I want to try and confuse.
So 1..64xrcs0, 1...64xVirtual and make sure it kills the right active
context.

I hope I had such nastiness in mind while writing, so hopefully there's
no hole here.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [igt-dev] [Intel-gfx] [PATCH i-g-t] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic
@ 2020-01-30 21:17       ` Chris Wilson
  0 siblings, 0 replies; 26+ messages in thread
From: Chris Wilson @ 2020-01-30 21:17 UTC (permalink / raw)
  To: Tvrtko Ursulin, igt-dev; +Cc: Bommu Krishnaiah, Intel-gfx

Quoting Tvrtko Ursulin (2020-01-30 20:56:23)
> 
> On 30/01/2020 20:47, Chris Wilson wrote:
> > Quoting Tvrtko Ursulin (2020-01-30 20:41:24)
> > Then I had a plan to add the pathological engines[] here.
> 
> Will see later what you exactly mean.

        for_each_gem_engine(ce, __context_engines_static(ctx), it) {
                struct intel_engine_cs *engine;

                if (intel_context_set_banned(ce))
                        continue;

                engine = active_engine(ce);

That's the bit I want to try and confuse.
So 1..64xrcs0, 1...64xVirtual and make sure it kills the right active
context.

I hope I had such nastiness in mind while writing, so hopefully there's
no hole here.
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✗ GitLab.Pipeline: failure for tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic (rev3)
  2020-01-30 20:41 ` [igt-dev] " Tvrtko Ursulin
                   ` (6 preceding siblings ...)
  (?)
@ 2020-01-30 21:26 ` Patchwork
  -1 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2020-01-30 21:26 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: igt-dev

== Series Details ==

Series: tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic (rev3)
URL   : https://patchwork.freedesktop.org/series/72793/
State : failure

== Summary ==

ERROR! This series introduces new undocumented tests:

gem_ctx_persistence@engines-cleanup
gem_ctx_persistence@engines-hang
gem_ctx_persistence@engines-hostile
gem_ctx_persistence@engines-hostile-preempt
gem_ctx_persistence@engines-mixed
gem_ctx_persistence@engines-mixed-process
gem_ctx_persistence@engines-persistence
gem_ctx_persistence@engines-queued
gem_ctx_persistence@legacy-engines-cleanup
gem_ctx_persistence@legacy-engines-hang
gem_ctx_persistence@legacy-engines-hostile
gem_ctx_persistence@legacy-engines-hostile-preempt
gem_ctx_persistence@legacy-engines-mixed
gem_ctx_persistence@legacy-engines-mixed-process
gem_ctx_persistence@legacy-engines-persistence
gem_ctx_persistence@legacy-engines-queued

Can you document them as per the requirement in the [CONTRIBUTING.md]?

[Documentation] has more details on how to do this.

Here are few examples:
https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/0316695d03aa46108296b27f3982ec93200c7a6e
https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/443cc658e1e6b492ee17bf4f4d891029eb7a205d

Thanks in advance!

[CONTRIBUTING.md]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/blob/master/CONTRIBUTING.md#L19
[Documentation]: https://drm.pages.freedesktop.org/igt-gpu-tools/igt-gpu-tools-Core.html#igt-describe

Other than that, pipeline status: SUCCESS.

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

== Logs ==

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic (rev3)
  2020-01-30 20:41 ` [igt-dev] " Tvrtko Ursulin
                   ` (7 preceding siblings ...)
  (?)
@ 2020-01-30 21:33 ` Patchwork
  -1 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2020-01-30 21:33 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: igt-dev

== Series Details ==

Series: tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic (rev3)
URL   : https://patchwork.freedesktop.org/series/72793/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7845 -> IGTPW_4047
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_close_race@basic-threads:
    - fi-byt-j1900:       [PASS][1] -> [TIMEOUT][2] ([fdo#112271] / [i915#1084] / [i915#816])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/fi-byt-j1900/igt@gem_close_race@basic-threads.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/fi-byt-j1900/igt@gem_close_race@basic-threads.html
    - fi-byt-n2820:       [PASS][3] -> [TIMEOUT][4] ([fdo#112271] / [i915#1084] / [i915#816])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/fi-byt-n2820/igt@gem_close_race@basic-threads.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/fi-byt-n2820/igt@gem_close_race@basic-threads.html

  * igt@i915_selftest@live_blt:
    - fi-hsw-4770r:       [PASS][5] -> [DMESG-FAIL][6] ([i915#553] / [i915#725])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/fi-hsw-4770r/igt@i915_selftest@live_blt.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/fi-hsw-4770r/igt@i915_selftest@live_blt.html
    - fi-hsw-4770:        [PASS][7] -> [DMESG-FAIL][8] ([i915#725])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/fi-hsw-4770/igt@i915_selftest@live_blt.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/fi-hsw-4770/igt@i915_selftest@live_blt.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [PASS][9] -> [FAIL][10] ([fdo#111096] / [i915#323])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  
#### Possible fixes ####

  * igt@gem_ctx_create@basic-files:
    - fi-icl-guc:         [INCOMPLETE][11] ([fdo#109100]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/fi-icl-guc/igt@gem_ctx_create@basic-files.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/fi-icl-guc/igt@gem_ctx_create@basic-files.html

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

  
#### Warnings ####

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-tgl-y:           [FAIL][15] ([CI#94]) -> [INCOMPLETE][16] ([CI#94] / [i915#460] / [i915#472])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/fi-tgl-y/igt@gem_exec_suspend@basic-s4-devices.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/fi-tgl-y/igt@gem_exec_suspend@basic-s4-devices.html

  * igt@runner@aborted:
    - fi-byt-n2820:       [FAIL][17] ([i915#999]) -> [FAIL][18] ([i915#816])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/fi-byt-n2820/igt@runner@aborted.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/fi-byt-n2820/igt@runner@aborted.html

  
  [CI#94]: https://gitlab.freedesktop.org/gfx-ci/i915-infra/issues/94
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
  [i915#1084]: https://gitlab.freedesktop.org/drm/intel/issues/1084
  [i915#323]: https://gitlab.freedesktop.org/drm/intel/issues/323
  [i915#460]: https://gitlab.freedesktop.org/drm/intel/issues/460
  [i915#472]: https://gitlab.freedesktop.org/drm/intel/issues/472
  [i915#553]: https://gitlab.freedesktop.org/drm/intel/issues/553
  [i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725
  [i915#816]: https://gitlab.freedesktop.org/drm/intel/issues/816
  [i915#999]: https://gitlab.freedesktop.org/drm/intel/issues/999


Participating hosts (45 -> 47)
------------------------------

  Additional (9): fi-kbl-soraka fi-hsw-peppy fi-bdw-gvtdvm fi-bwr-2160 fi-ilk-650 fi-elk-e7500 fi-blb-e6850 fi-bsw-nick fi-skl-6600u 
  Missing    (7): fi-icl-1065g7 fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-kbl-7560u fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5407 -> IGTPW_4047

  CI-20190529: 20190529
  CI_DRM_7845: 87712fc2ff1634223e993da943bc3c9c7ce96bad @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4047: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/index.html
  IGT_5407: a9d69f51dadbcbc53527671f87572d05c3370cba @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+++ 16 lines
--- 90 lines

== Logs ==

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

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

* [igt-dev] ✓ Fi.CI.IGT: success for tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic (rev3)
  2020-01-30 20:41 ` [igt-dev] " Tvrtko Ursulin
                   ` (8 preceding siblings ...)
  (?)
@ 2020-02-02 12:49 ` Patchwork
  -1 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2020-02-02 12:49 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: igt-dev

== Series Details ==

Series: tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic (rev3)
URL   : https://patchwork.freedesktop.org/series/72793/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7845_full -> IGTPW_4047_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

New tests
---------

  New tests have been introduced between CI_DRM_7845_full and IGTPW_4047_full:

### New IGT tests (65) ###

  * igt@gem_ctx_persistence@engines-hang@bcs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.02] s

  * igt@gem_ctx_persistence@engines-hang@rcs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.02] s

  * igt@gem_ctx_persistence@engines-hang@vcs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.02] s

  * igt@gem_ctx_persistence@engines-hang@vcs1:
    - Statuses : 2 pass(s)
    - Exec time: [0.01] s

  * igt@gem_ctx_persistence@engines-hang@vecs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.02] s

  * igt@gem_ctx_persistence@engines-hostile-preempt@bcs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.70] s

  * igt@gem_ctx_persistence@engines-hostile-preempt@rcs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.67, 0.72] s

  * igt@gem_ctx_persistence@engines-hostile-preempt@vcs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.70] s

  * igt@gem_ctx_persistence@engines-hostile-preempt@vcs1:
    - Statuses : 3 pass(s)
    - Exec time: [0.70] s

  * igt@gem_ctx_persistence@engines-hostile-preempt@vecs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.70, 0.71] s

  * igt@gem_ctx_persistence@engines-mixed-process@bcs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.24, 0.28] s

  * igt@gem_ctx_persistence@engines-mixed-process@rcs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.25, 0.27] s

  * igt@gem_ctx_persistence@engines-mixed-process@vcs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.25, 0.27] s

  * igt@gem_ctx_persistence@engines-mixed-process@vcs1:
    - Statuses : 3 pass(s)
    - Exec time: [0.27, 0.29] s

  * igt@gem_ctx_persistence@engines-mixed-process@vecs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.24, 0.29] s

  * igt@gem_ctx_persistence@engines-mixed@bcs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.02, 0.03] s

  * igt@gem_ctx_persistence@engines-mixed@rcs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.02, 0.03] s

  * igt@gem_ctx_persistence@engines-mixed@vcs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.02] s

  * igt@gem_ctx_persistence@engines-mixed@vcs1:
    - Statuses : 3 pass(s)
    - Exec time: [0.02] s

  * igt@gem_ctx_persistence@engines-mixed@vecs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.03] s

  * igt@gem_ctx_persistence@engines-persistence@bcs0:
    - Statuses : 5 pass(s)
    - Exec time: [1.02, 1.03] s

  * igt@gem_ctx_persistence@engines-persistence@rcs0:
    - Statuses : 5 pass(s)
    - Exec time: [1.01, 1.07] s

  * igt@gem_ctx_persistence@engines-persistence@vcs0:
    - Statuses : 5 pass(s)
    - Exec time: [1.02] s

  * igt@gem_ctx_persistence@engines-persistence@vcs1:
    - Statuses : 3 pass(s)
    - Exec time: [1.02, 1.03] s

  * igt@gem_ctx_persistence@engines-persistence@vecs0:
    - Statuses : 5 pass(s)
    - Exec time: [1.02] s

  * igt@gem_ctx_persistence@engines-queued@bcs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.04, 0.07] s

  * igt@gem_ctx_persistence@engines-queued@rcs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.04, 0.06] s

  * igt@gem_ctx_persistence@engines-queued@vcs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.04, 0.07] s

  * igt@gem_ctx_persistence@engines-queued@vcs1:
    - Statuses : 3 pass(s)
    - Exec time: [0.04, 0.08] s

  * igt@gem_ctx_persistence@engines-queued@vecs0:
    - Statuses : 5 pass(s)
    - Exec time: [0.04, 0.10] s

  * igt@gem_ctx_persistence@legacy-engines-cleanup@blt:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.02] s

  * igt@gem_ctx_persistence@legacy-engines-cleanup@bsd:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.02] s

  * igt@gem_ctx_persistence@legacy-engines-cleanup@bsd1:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.02] s

  * igt@gem_ctx_persistence@legacy-engines-cleanup@bsd2:
    - Statuses : 2 pass(s)
    - Exec time: [0.01] s

  * igt@gem_ctx_persistence@legacy-engines-cleanup@default:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.02] s

  * igt@gem_ctx_persistence@legacy-engines-cleanup@render:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.02] s

  * igt@gem_ctx_persistence@legacy-engines-cleanup@vebox:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.02] s

  * igt@gem_ctx_persistence@legacy-engines-hostile-preempt@blt:
    - Statuses : 5 pass(s)
    - Exec time: [0.70, 0.71] s

  * igt@gem_ctx_persistence@legacy-engines-hostile-preempt@bsd:
    - Statuses : 5 pass(s)
    - Exec time: [0.70, 0.71] s

  * igt@gem_ctx_persistence@legacy-engines-hostile-preempt@bsd1:
    - Statuses : 5 pass(s)
    - Exec time: [0.70, 0.71] s

  * igt@gem_ctx_persistence@legacy-engines-hostile-preempt@bsd2:
    - Statuses : 3 pass(s)
    - Exec time: [0.70] s

  * igt@gem_ctx_persistence@legacy-engines-hostile-preempt@default:
    - Statuses : 5 pass(s)
    - Exec time: [0.69, 0.72] s

  * igt@gem_ctx_persistence@legacy-engines-hostile-preempt@render:
    - Statuses : 5 pass(s)
    - Exec time: [0.70, 0.71] s

  * igt@gem_ctx_persistence@legacy-engines-hostile-preempt@vebox:
    - Statuses : 5 pass(s)
    - Exec time: [0.70, 0.71] s

  * igt@gem_ctx_persistence@legacy-engines-hostile@blt:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.02] s

  * igt@gem_ctx_persistence@legacy-engines-hostile@bsd:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.02] s

  * igt@gem_ctx_persistence@legacy-engines-hostile@bsd1:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.02] s

  * igt@gem_ctx_persistence@legacy-engines-hostile@bsd2:
    - Statuses : 2 pass(s)
    - Exec time: [0.01, 0.02] s

  * igt@gem_ctx_persistence@legacy-engines-hostile@default:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.03] s

  * igt@gem_ctx_persistence@legacy-engines-hostile@render:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.02] s

  * igt@gem_ctx_persistence@legacy-engines-hostile@vebox:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.02] s

  * igt@gem_ctx_persistence@legacy-engines-mixed-process@blt:
    - Statuses : 5 pass(s)
    - Exec time: [0.25, 0.27] s

  * igt@gem_ctx_persistence@legacy-engines-mixed-process@bsd:
    - Statuses : 5 pass(s)
    - Exec time: [0.24, 0.27] s

  * igt@gem_ctx_persistence@legacy-engines-mixed-process@bsd1:
    - Statuses : 5 pass(s)
    - Exec time: [0.25, 0.27] s

  * igt@gem_ctx_persistence@legacy-engines-mixed-process@bsd2:
    - Statuses : 3 pass(s)
    - Exec time: [0.26] s

  * igt@gem_ctx_persistence@legacy-engines-mixed-process@default:
    - Statuses : 5 pass(s)
    - Exec time: [0.25, 0.28] s

  * igt@gem_ctx_persistence@legacy-engines-mixed-process@render:
    - Statuses : 5 pass(s)
    - Exec time: [0.23, 0.29] s

  * igt@gem_ctx_persistence@legacy-engines-mixed-process@vebox:
    - Statuses : 5 pass(s)
    - Exec time: [0.25, 0.29] s

  * igt@gem_ctx_persistence@legacy-engines-mixed@blt:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.03] s

  * igt@gem_ctx_persistence@legacy-engines-mixed@bsd:
    - Statuses : 5 pass(s)
    - Exec time: [0.02, 0.03] s

  * igt@gem_ctx_persistence@legacy-engines-mixed@bsd1:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.03] s

  * igt@gem_ctx_persistence@legacy-engines-mixed@bsd2:
    - Statuses : 2 pass(s)
    - Exec time: [0.01, 0.02] s

  * igt@gem_ctx_persistence@legacy-engines-mixed@default:
    - Statuses : 5 pass(s)
    - Exec time: [0.02, 0.03] s

  * igt@gem_ctx_persistence@legacy-engines-mixed@render:
    - Statuses : 5 pass(s)
    - Exec time: [0.02] s

  * igt@gem_ctx_persistence@legacy-engines-mixed@vebox:
    - Statuses : 5 pass(s)
    - Exec time: [0.02, 0.03] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_busy@busy-vcs1:
    - shard-iclb:         [PASS][1] -> [SKIP][2] ([fdo#112080]) +11 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-iclb4/igt@gem_busy@busy-vcs1.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-iclb8/igt@gem_busy@busy-vcs1.html

  * igt@gem_ctx_isolation@rcs0-s3:
    - shard-kbl:          [PASS][3] -> [DMESG-WARN][4] ([i915#180]) +7 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-kbl6/igt@gem_ctx_isolation@rcs0-s3.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-kbl4/igt@gem_ctx_isolation@rcs0-s3.html

  * igt@gem_exec_parallel@rcs0-fds:
    - shard-hsw:          [PASS][5] -> [TIMEOUT][6] ([fdo#112271] / [i915#1084])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-hsw1/igt@gem_exec_parallel@rcs0-fds.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-hsw5/igt@gem_exec_parallel@rcs0-fds.html

  * igt@gem_exec_schedule@pi-distinct-iova-bsd:
    - shard-iclb:         [PASS][7] -> [SKIP][8] ([i915#677]) +2 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-iclb6/igt@gem_exec_schedule@pi-distinct-iova-bsd.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-iclb2/igt@gem_exec_schedule@pi-distinct-iova-bsd.html

  * igt@gem_exec_schedule@preempt-other-chain-bsd:
    - shard-iclb:         [PASS][9] -> [SKIP][10] ([fdo#112146]) +5 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-iclb7/igt@gem_exec_schedule@preempt-other-chain-bsd.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-iclb1/igt@gem_exec_schedule@preempt-other-chain-bsd.html

  * igt@gem_exec_schedule@preempt-queue-bsd1:
    - shard-iclb:         [PASS][11] -> [SKIP][12] ([fdo#109276]) +14 similar issues
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-iclb2/igt@gem_exec_schedule@preempt-queue-bsd1.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-iclb7/igt@gem_exec_schedule@preempt-queue-bsd1.html

  * igt@i915_pm_dc@dc6-dpms:
    - shard-iclb:         [PASS][13] -> [FAIL][14] ([i915#454]) +1 similar issue
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-iclb1/igt@i915_pm_dc@dc6-dpms.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-iclb3/igt@i915_pm_dc@dc6-dpms.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt:
    - shard-apl:          [PASS][15] -> [FAIL][16] ([i915#49])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-apl6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-apl2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt.html
    - shard-kbl:          [PASS][17] -> [FAIL][18] ([i915#49])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-kbl4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-kbl1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-gtt:
    - shard-snb:          [PASS][19] -> [DMESG-WARN][20] ([i915#478])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-snb1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-gtt.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-snb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-apl:          [PASS][21] -> [DMESG-WARN][22] ([i915#180]) +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-apl4/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-apl6/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_psr2_su@page_flip:
    - shard-iclb:         [PASS][23] -> [SKIP][24] ([fdo#109642] / [fdo#111068])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-iclb2/igt@kms_psr2_su@page_flip.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-iclb7/igt@kms_psr2_su@page_flip.html

  * igt@kms_psr@psr2_sprite_mmap_gtt:
    - shard-iclb:         [PASS][25] -> [SKIP][26] ([fdo#109441]) +2 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-iclb4/igt@kms_psr@psr2_sprite_mmap_gtt.html

  * igt@kms_setmode@basic:
    - shard-apl:          [PASS][27] -> [FAIL][28] ([i915#31])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-apl6/igt@kms_setmode@basic.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-apl7/igt@kms_setmode@basic.html

  * igt@prime_mmap_coherency@ioctl-errors:
    - shard-hsw:          [PASS][29] -> [FAIL][30] ([i915#831])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-hsw5/igt@prime_mmap_coherency@ioctl-errors.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-hsw1/igt@prime_mmap_coherency@ioctl-errors.html

  
#### Possible fixes ####

  * igt@gem_ctx_shared@exec-single-timeline-bsd:
    - shard-iclb:         [SKIP][31] ([fdo#110841]) -> [PASS][32]
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-iclb2/igt@gem_ctx_shared@exec-single-timeline-bsd.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-iclb7/igt@gem_ctx_shared@exec-single-timeline-bsd.html

  * igt@gem_exec_balancer@hang:
    - shard-tglb:         [TIMEOUT][33] ([fdo#112271]) -> [PASS][34]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-tglb6/igt@gem_exec_balancer@hang.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-tglb8/igt@gem_exec_balancer@hang.html

  * igt@gem_exec_parallel@vcs1-fds:
    - shard-iclb:         [SKIP][35] ([fdo#112080]) -> [PASS][36] +13 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-iclb6/igt@gem_exec_parallel@vcs1-fds.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-iclb4/igt@gem_exec_parallel@vcs1-fds.html

  * igt@gem_exec_schedule@promotion-bsd1:
    - shard-iclb:         [SKIP][37] ([fdo#109276]) -> [PASS][38] +14 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-iclb7/igt@gem_exec_schedule@promotion-bsd1.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-iclb2/igt@gem_exec_schedule@promotion-bsd1.html

  * igt@gem_exec_schedule@wide-bsd:
    - shard-iclb:         [SKIP][39] ([fdo#112146]) -> [PASS][40] +3 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-iclb2/igt@gem_exec_schedule@wide-bsd.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-iclb3/igt@gem_exec_schedule@wide-bsd.html

  * igt@gem_softpin@noreloc-s3:
    - shard-apl:          [DMESG-WARN][41] ([i915#180]) -> [PASS][42]
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-apl1/igt@gem_softpin@noreloc-s3.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-apl7/igt@gem_softpin@noreloc-s3.html

  * igt@gem_tiled_partial_pwrite_pread@reads:
    - shard-hsw:          [FAIL][43] ([i915#694]) -> [PASS][44] +2 similar issues
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-hsw5/igt@gem_tiled_partial_pwrite_pread@reads.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-hsw2/igt@gem_tiled_partial_pwrite_pread@reads.html

  * igt@gem_userptr_blits@sync-unmap-cycles:
    - shard-snb:          [DMESG-WARN][45] ([fdo#110789] / [fdo#111870] / [i915#478]) -> [PASS][46]
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-snb1/igt@gem_userptr_blits@sync-unmap-cycles.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-snb2/igt@gem_userptr_blits@sync-unmap-cycles.html

  * igt@gem_workarounds@suspend-resume-fd:
    - shard-kbl:          [DMESG-WARN][47] ([i915#180]) -> [PASS][48] +6 similar issues
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-kbl3/igt@gem_workarounds@suspend-resume-fd.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-kbl4/igt@gem_workarounds@suspend-resume-fd.html

  * igt@i915_pm_rps@waitboost:
    - shard-iclb:         [FAIL][49] ([i915#413]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-iclb6/igt@i915_pm_rps@waitboost.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-iclb4/igt@i915_pm_rps@waitboost.html

  * igt@kms_color@pipe-c-ctm-green-to-red:
    - shard-kbl:          [FAIL][51] ([i915#129]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-kbl4/igt@kms_color@pipe-c-ctm-green-to-red.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-kbl6/igt@kms_color@pipe-c-ctm-green-to-red.html
    - shard-apl:          [FAIL][53] ([i915#129]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-apl2/igt@kms_color@pipe-c-ctm-green-to-red.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-apl1/igt@kms_color@pipe-c-ctm-green-to-red.html

  * igt@kms_psr@psr2_sprite_mmap_cpu:
    - shard-iclb:         [SKIP][55] ([fdo#109441]) -> [PASS][56] +1 similar issue
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-iclb5/igt@kms_psr@psr2_sprite_mmap_cpu.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_cpu.html

  
#### Warnings ####

  * igt@gem_ctx_isolation@vcs1-nonpriv-switch:
    - shard-iclb:         [SKIP][57] ([fdo#112080]) -> [FAIL][58] ([IGT#28])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-iclb3/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-iclb1/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html

  * igt@gem_eio@in-flight-10ms:
    - shard-apl:          [TIMEOUT][59] ([fdo#112271]) -> [INCOMPLETE][60] ([CI#80] / [fdo#103927])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-apl6/igt@gem_eio@in-flight-10ms.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-apl7/igt@gem_eio@in-flight-10ms.html

  * igt@gem_eio@in-flight-1us:
    - shard-apl:          [TIMEOUT][61] ([fdo#112271]) -> [INCOMPLETE][62] ([CI#80] / [fdo#103927] / [i915#1098])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-apl8/igt@gem_eio@in-flight-1us.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-apl4/igt@gem_eio@in-flight-1us.html

  * igt@gem_eio@in-flight-immediate:
    - shard-kbl:          [INCOMPLETE][63] ([CI#80] / [fdo#103665] / [i915#1098]) -> [TIMEOUT][64] ([fdo#112271])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-kbl7/igt@gem_eio@in-flight-immediate.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-kbl2/igt@gem_eio@in-flight-immediate.html
    - shard-glk:          [INCOMPLETE][65] ([CI#80] / [i915#1098] / [i915#58] / [k.org#198133]) -> [TIMEOUT][66] ([fdo#112271])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-glk6/igt@gem_eio@in-flight-immediate.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-glk6/igt@gem_eio@in-flight-immediate.html

  * igt@i915_pm_rpm@pm-tiling:
    - shard-snb:          [INCOMPLETE][67] ([i915#82]) -> [SKIP][68] ([fdo#109271])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-snb1/igt@i915_pm_rpm@pm-tiling.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-snb1/igt@i915_pm_rpm@pm-tiling.html

  * igt@i915_selftest@live_blt:
    - shard-hsw:          [DMESG-FAIL][69] ([i915#725]) -> [DMESG-FAIL][70] ([i915#553] / [i915#725])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-hsw2/igt@i915_selftest@live_blt.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-hsw1/igt@i915_selftest@live_blt.html

  * igt@runner@aborted:
    - shard-snb:          ([FAIL][71], [FAIL][72], [FAIL][73], [FAIL][74], [FAIL][75], [FAIL][76], [FAIL][77]) ([fdo#111870] / [i915#1077]) -> ([FAIL][78], [FAIL][79], [FAIL][80], [FAIL][81], [FAIL][82]) ([fdo#111870] / [i915#1077] / [i915#698])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-snb6/igt@runner@aborted.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-snb1/igt@runner@aborted.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-snb1/igt@runner@aborted.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-snb1/igt@runner@aborted.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-snb2/igt@runner@aborted.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-snb5/igt@runner@aborted.html
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7845/shard-snb2/igt@runner@aborted.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-snb1/igt@runner@aborted.html
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-snb1/igt@runner@aborted.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-snb1/igt@runner@aborted.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-snb4/igt@runner@aborted.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/shard-snb2/igt@runner@aborted.html

  
  [CI#80]: https://gitlab.freedesktop.org/gfx-ci/i915-infra/issues/80
  [IGT#28]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/28
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110789]: https://bugs.freedesktop.org/show_bug.cgi?id=110789
  [fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
  [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
  [i915#1077]: https://gitlab.freedesktop.org/drm/intel/issues/1077
  [i915#1084]: https://gitlab.freedesktop.org/drm/intel/issues/1084
  [i915#1098]: https://gitlab.freedesktop.org/drm/intel/issues/1098
  [i915#129]: https://gitlab.freedesktop.org/drm/intel/issues/129
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31
  [i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#478]: https://gitlab.freedesktop.org/drm/intel/issues/478
  [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
  [i915#553]: https://gitlab.freedesktop.org/drm/intel/issues/553
  [i915#58]: https://gitlab.freedesktop.org/drm/intel/issues/58
  [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677
  [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
  [i915#698]: https://gitlab.freedesktop.org/drm/intel/issues/698
  [i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725
  [i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82
  [i915#831]: https://gitlab.freedesktop.org/drm/intel/issues/831
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


Participating hosts (10 -> 8)
------------------------------

  Missing    (2): pig-skl-6260u pig-glk-j5005 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5407 -> IGTPW_4047
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_7845: 87712fc2ff1634223e993da943bc3c9c7ce96bad @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4047: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4047/index.html
  IGT_5407: a9d69f51dadbcbc53527671f87572d05c3370cba @ 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_4047/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2020-02-02 12:49 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-30 20:41 [Intel-gfx] [PATCH i-g-t] tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic Tvrtko Ursulin
2020-01-30 20:41 ` [igt-dev] " Tvrtko Ursulin
2020-01-30 20:44 ` [Intel-gfx] " Tvrtko Ursulin
2020-01-30 20:44   ` Tvrtko Ursulin
2020-01-30 20:50   ` [Intel-gfx] " Chris Wilson
2020-01-30 20:50     ` [igt-dev] [Intel-gfx] " Chris Wilson
2020-01-30 20:47 ` Chris Wilson
2020-01-30 20:47   ` [igt-dev] " Chris Wilson
2020-01-30 20:56   ` Tvrtko Ursulin
2020-01-30 20:56     ` [igt-dev] " Tvrtko Ursulin
2020-01-30 21:17     ` Chris Wilson
2020-01-30 21:17       ` [igt-dev] " Chris Wilson
2020-01-30 20:52 ` [Intel-gfx] [PATCH i-g-t v2] " Tvrtko Ursulin
2020-01-30 20:56   ` Chris Wilson
2020-01-30 20:56     ` [igt-dev] " Chris Wilson
2020-01-30 20:59     ` Tvrtko Ursulin
2020-01-30 20:59       ` [igt-dev] " Tvrtko Ursulin
2020-01-30 20:56 ` [igt-dev] ✗ GitLab.Pipeline: failure for " Patchwork
2020-01-30 21:01 ` [Intel-gfx] [PATCH i-g-t v3] " Tvrtko Ursulin
2020-01-30 21:01   ` [igt-dev] " Tvrtko Ursulin
2020-01-30 21:07   ` [Intel-gfx] " Chris Wilson
2020-01-30 21:07     ` Chris Wilson
2020-01-30 21:16 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
2020-01-30 21:26 ` [igt-dev] ✗ GitLab.Pipeline: failure for tests/i915/gem_ctx_persistence: Convert engine subtests to dynamic (rev3) Patchwork
2020-01-30 21:33 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
2020-02-02 12:49 ` [igt-dev] ✓ Fi.CI.IGT: " 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.