Re: [Intel-gfx] [PATCH v3] drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



<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




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux