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

Matthew Brost matthew.brost at intel.com
Fri Sep 17 16:14:05 UTC 2021


On Fri, Sep 17, 2021 at 08:36:19AM +0100, Tvrtko Ursulin wrote:
> 
> On 16/09/2021 21:49, John Harrison wrote:
> > 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.
> 
> Tigerlake as well or not care about removing the coverage from it?
> 

Tigerlake is skipped as well. I don't think we care about removing
coverage as this section isn't really a real world use case.

e.g. I don't a UMD will ever:

Turn off preemption
Create and submit a contet
Turn on preemption and expect an existing context to have the new preemption value

Matt

> Regards,
> 
> Tvrtko
> 
> > > 
> > > 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