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

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Mon Sep 20 09:22:28 UTC 2021


On 17/09/2021 17:14, Matthew Brost wrote:
> 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

I am pedantic against both commit text and code with comment, emphasis mine:

1)
"..._any gen12+_ platforms as we assume _GuC_ submission on these 
platforms."

2)
   /* Not a supported behavior for _GuC enabled platforms_ */
   igt_require(intel_gen(intel_get_drm_devid(i915)) _< 12_);

Regards,

Tvrtko

> 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