[Intel-gfx] [igt-dev] [PATCH i-g-t] Revert "tests/i915: Use engine query interface for gem_ctx_isolation/persistence"

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Mon Dec 9 09:25:16 UTC 2019


On 07/12/2019 01:08, Chris Wilson wrote:
> This reverts commit 343aae776a58a67fa153825385e6fe90e3185c5b.
> 
> __for_each_physical_engine() reprograms the context, invalidating the
> use of e->flags to select engines, necessitating e->index instead.
> Withot also fixing up the engine selection, the result is that random
> engines were being used to read registers from the intended engine.
> This does not end well.

Argh, an oversight.. test(s) needs to be looked at in detail and 
converted fully. On a cursory glance a sprinkle of 
gem_context_set_all_engines on internally created contexts is needed to 
align with the passed in e and e->flags.

Acked-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Regards,

Tvrtko

> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Stuart Summers <stuart.summers at intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> ---
>   tests/i915/gem_ctx_isolation.c   | 4 ++--
>   tests/i915/gem_ctx_persistence.c | 2 +-
>   2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/i915/gem_ctx_isolation.c b/tests/i915/gem_ctx_isolation.c
> index 9435209e9..6aa27133c 100644
> --- a/tests/i915/gem_ctx_isolation.c
> +++ b/tests/i915/gem_ctx_isolation.c
> @@ -856,7 +856,6 @@ static unsigned int __has_context_isolation(int fd)
>   
>   igt_main
>   {
> -	struct intel_execution_engine2 *e;
>   	unsigned int has_context_isolation = 0;
>   	int fd = -1;
>   
> @@ -877,7 +876,8 @@ igt_main
>   		igt_skip_on(gen > LAST_KNOWN_GEN);
>   	}
>   
> -	__for_each_physical_engine(fd, e) {
> +	for (const struct intel_execution_engine2 *e = intel_execution_engines2;
> +	     e->name; e++) {
>   		igt_subtest_group {
>   			igt_fixture {
>   				igt_require(has_context_isolation & (1 << e->class));
> diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
> index 30772159b..d68431ae0 100644
> --- a/tests/i915/gem_ctx_persistence.c
> +++ b/tests/i915/gem_ctx_persistence.c
> @@ -727,7 +727,7 @@ igt_main
>   	igt_subtest("hangcheck")
>   		test_nohangcheck_hostile(i915);
>   
> -	__for_each_physical_engine(i915, e) {
> +	__for_each_static_engine(e) {
>   		igt_subtest_group {
>   			igt_fixture {
>   				gem_require_ring(i915, e->flags);
> 


More information about the Intel-gfx mailing list