[Intel-gfx] [PATCH v3] drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests
Ceraolo Spurio, Daniele
daniele.ceraolospurio at intel.com
Tue Jul 11 18:49:59 UTC 2023
<snip>
>>> @@ -134,6 +193,8 @@ static int __run_selftests(const char *name,
>>> {
>>> int err = 0;
>>>
>>> + __wait_on_all_system_dependencies(data);
>> Why does this need to be top level selftests and not just a wait for
>> intel_gsc_uc_fw_proxy_init_done in the tests where it is relevant, via
>> some helper or something?
> Alan: it was an offline decision because we didn't want to repeat
> the same check for all permutations of selftests' subtests (i.e. considering
> module params can dictate to skip some subtests but execute others).
>
> Anyways, let me get back to you on how how many selftests' subtests actually excercise the
> need for proxy-init to complete - if its just 1-to-2 subtest I'll move the remove the code
> from here and move them into the individual subtests.
I don't think it is going to be easy to figure out which selftest are
impacted. All selftests looping on all engines of course, but also tests
triggering GT resets and/or messing with the system in other ways. Any
new tests added will also need to be evaluated.
IMO there is minimal impact of having this check on every test. When
running selftests we load i915 after the rest of the system has already
fully booted, so there are no delays in getting the mei component up and
therefore proxy init is sometimes completed even before the selftest
code starts; when we do have to wait, it's usually for a very short
time, because the expected total execution time for the GSC worker when
not having to wait for the mei component to load is ~750ms (~200ms for
GSC load + 20ms for HuC auth + ~500ms for proxy init). Having a few
seconds added to the total selftests runtime is IMO a better option that
having to maintain a list of impacted tests.
Daniele
More information about the Intel-gfx
mailing list