[igt-dev] [PATCH i-g-t 3/3] i915/sysfs_preempt_timeout: Update test to work with GuC submission

John Harrison john.c.harrison at intel.com
Thu Sep 16 20:49:38 UTC 2021


On 9/16/2021 11:03, Matthew Brost wrote:
> Increase reset timeout as resets can take a bit longer with GuC
> submission because an error capture is done and with a large GuC log (16
> MB) these take a while.
>
> Don't run 'off' section as with GuC submission we don't handle
> dynamically changing the preemption timeout from 'off' to 'on' on a
> currently running context. This is not bug in GuC submission rather an
> architectural decision to not implement this as there is no user aside
> from IGTs. We don't run this section on any gen12+ platforms as we
> assume GuC submission on these platforms.
>
> Signed-off-by: Matthew Brost <matthew.brost at intel.com>
Reviewed-by: John Harrison <John.C.Harrison at Intel.com>

> ---
>   tests/i915/sysfs_preempt_timeout.c | 6 +++++-
>   1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/tests/i915/sysfs_preempt_timeout.c b/tests/i915/sysfs_preempt_timeout.c
> index d176ae72e..fe6b30236 100644
> --- a/tests/i915/sysfs_preempt_timeout.c
> +++ b/tests/i915/sysfs_preempt_timeout.c
> @@ -29,6 +29,7 @@
>   #include <sys/types.h>
>   #include <unistd.h>
>   
> +#include "igt.h"
>   #include "igt_params.h"
>   #include "drmtest.h"
>   #include "i915/gem.h"
> @@ -41,7 +42,7 @@
>   #include "sw_sync.h"
>   
>   #define ATTR "preempt_timeout_ms"
> -#define RESET_TIMEOUT 50 /* milliseconds, at least one jiffie for kworker */
> +#define RESET_TIMEOUT 1000 /* milliseconds, at long enough for an error capture */
>   
>   static bool __enable_hangcheck(int dir, bool state)
>   {
> @@ -254,6 +255,9 @@ static void test_off(int i915, int engine)
>   	gem_quiescent_gpu(i915);
>   	igt_require(enable_hangcheck(i915, false));
>   
> +	/* Not a supported behavior for GuC enabled platforms */
> +	igt_require(intel_gen(intel_get_drm_devid(i915)) < 12);
> +
>   	igt_assert(igt_sysfs_scanf(engine, "class", "%u", &class) == 1);
>   	igt_assert(igt_sysfs_scanf(engine, "instance", "%u", &inst) == 1);
>   



More information about the igt-dev mailing list