[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