[igt-dev] [PATCH i-g-t v2] tests/i915/gem_ctx_exec: Skip test for RCS+CCS

Dandamudi, Priyanka priyanka.dandamudi at intel.com
Thu Jan 6 04:27:58 UTC 2022



-----Original Message-----
From: Dixit, Ashutosh <ashutosh.dixit at intel.com> 
Sent: 06 January 2022 08:12 AM
To: Dandamudi, Priyanka <priyanka.dandamudi at intel.com>
Cc: igt-dev at lists.freedesktop.org; Melkaveri, Arjun <arjun.melkaveri at intel.com>; Harrison, John C <john.c.harrison at intel.com>; Gupta, saurabhg <saurabhg.gupta at intel.com>
Subject: Re: [PATCH i-g-t v2] tests/i915/gem_ctx_exec: Skip test for RCS+CCS

On Wed, 05 Jan 2022 02:10:22 -0800, <priyanka.dandamudi at intel.com> wrote:
>
> diff --git a/tests/i915/gem_ctx_exec.c b/tests/i915/gem_ctx_exec.c 
> index a1270a88..7b2aa390 100644
> --- a/tests/i915/gem_ctx_exec.c
> +++ b/tests/i915/gem_ctx_exec.c
> @@ -276,6 +276,8 @@ static void nohangcheck_hostile(int i915)
>	int err = 0;
>	int dir;
>	uint64_t ahnd;
> +	bool rcs0 = false;
> +	bool ccs0 = false;
>
>	/*
>	 * Even if the user disables hangcheck during their context,  @@ 
>-292,6 +294,20 @@ static void nohangcheck_hostile(int i915)
>	ahnd = get_reloc_ahnd(i915, ctx->id);
>
>	igt_require(__enable_hangcheck(dir, false));
> +	/* Skips for RCS+CCS combination when nopreemption batch submitted*/
> +	for_each_ctx_engine (i915, ctx, e) {
> +		if (rcs0 && ccs0)
> +			break;
> +		else if (!rcs0) {

As I said before I don't see any point of these 'if (!rcs0)' and 'if (!ccs0)' checks.

Then will check the instance number as well along with class or else the class condition gets satisfied every time and same flag gets updated.

Priyanka

Also isn't this functionality (both rcs and ccs preset detection) needed elsewhere where dependent resets need to be handled? In that case, this functionality should be moved to lib/ so it can be shared between multiple tests.

Yeah, will move to library.

Priyanka



> +			if (e->class == I915_ENGINE_CLASS_RENDER)
> +				rcs0 = true;
> +		}
> +		else if (!ccs0) {
> +			if (e->class == I915_ENGINE_CLASS_COMPUTE)
> +				ccs0 = true;
> +		}
> +	}
> +	igt_require(!(rcs0 && ccs0));


More information about the igt-dev mailing list