[Intel-gfx] [PATCH igt v2] igt/drv_hangman: Skip aliased I915_EXEC_BSD

Michał Winiarski michal.winiarski at intel.com
Wed Oct 25 15:16:27 UTC 2017


On Wed, Oct 25, 2017 at 04:13:58PM +0100, Chris Wilson wrote:
> If the system has bsd2, we do not know which ring the kernel will alias
> I915_EXEC_BSD onto and so we do not what the matching string should be.
> Skip the unknown.
> 
> v2: Deny the aliased I915_EXEC_BSD exists at all; be specific!
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103324
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> CC: Michał Winiarski <michal.winiarski at intel.com>

Reviewed-by: Michał Winiarski <michal.winiarski at intel.com>

-Michał

> ---
>  tests/drv_hangman.c | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> diff --git a/tests/drv_hangman.c b/tests/drv_hangman.c
> index 0551ec16..40c82257 100644
> --- a/tests/drv_hangman.c
> +++ b/tests/drv_hangman.c
> @@ -184,6 +184,7 @@ static void test_error_state_capture(unsigned ring_id,
>  	uint64_t offset;
>  
>  	igt_require(gem_has_ring(device, ring_id));
> +
>  	clear_error_state();
>  
>  	hang = igt_hang_ctx(device, 0, ring_id, HANG_ALLOW_CAPTURE, &offset);
> @@ -254,6 +255,20 @@ igt_main
>  		if (e->exec_id == 0)
>  			continue;
>  
> +		/*
> +		 * If the device has 2 BSD rings then due to obtuse aliasing
> +		 * in the API, we can not determine which ring I915_EXEC_BSD
> +		 * will map to, and so must skip the test; as the matching name
> +		 * may be either bsd or bsd2 depending on the kernel/test
> +		 * ordering.
> +		 *
> +		 * Here we are not checking that executing on every ABI engine
> +		 * results in a detectable hang, but that a hang generated
> +		 * from a specific HW engine gives an indentifiable result.
> +		 */
> +		if (e->exec_id == I915_EXEC_BSD && e->flags == 0)
> +			continue;
> +
>  		igt_subtest_f("error-state-capture-%s", e->name)
>  			test_error_state_capture(e->exec_id | e->flags,
>  						 e->full_name);
> -- 
> 2.15.0.rc2
> 


More information about the Intel-gfx mailing list