[igt-dev] [PATCH i-g-t] i915/perf: Make sure i915 is loaded before reading proc

Petri Latvala petri.latvala at intel.com
Fri Oct 30 10:16:03 UTC 2020


On Thu, Oct 29, 2020 at 05:39:11PM -0700, Umesh Nerlige Ramappa wrote:
> The previous test may have unloaded i915 or failed to load it back. To
> combat such cases, each test fixture is supposed to ensure that i915 is
> loaded prior to running the subtests. In most fixtures this happens
> automatically when we try to get a handle to i915. In perf OA, we stat
> some proc/sys files even before getting a handle to i915. Occassionally,
> perf tests fail trying to stat these files. Fix perf OA by checking and
> loading i915 if it's not loaded.
> 
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/405
> Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa at intel.com>
> ---

I had a patch also fixing this back in August but I guess I didn't CC
the correct people (in fact CCd none).

https://patchwork.freedesktop.org/series/80805/

Same comment as for that other patch by Chris, we might want to
generalize this by exporting __try_modprobe to be callable from tests.

Anyway,
Reviewed-by: Petri Latvala <petri.latvala at intel.com>




>  tests/i915/perf.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/tests/i915/perf.c b/tests/i915/perf.c
> index a5c4adc3..a5bd63c2 100644
> --- a/tests/i915/perf.c
> +++ b/tests/i915/perf.c
> @@ -41,6 +41,7 @@
>  #include "i915/gem.h"
>  #include "i915/perf.h"
>  #include "igt.h"
> +#include "igt_kmod.h"
>  #include "igt_sysfs.h"
>  #include "drm.h"
>  
> @@ -4806,6 +4807,14 @@ igt_main
>  	igt_fixture {
>  		struct stat sb;
>  
> +               /*
> +		* Prior tests may have unloaded i915 or failed while
> +		* loading/unloading i915. Load i915 here before we stat the
> +		* files.
> +                */
> +               if (!igt_kmod_is_loaded("i915"))
> +                       igt_assert(!igt_i915_driver_load(NULL));
> +
>  		igt_require(stat("/proc/sys/dev/i915/perf_stream_paranoid", &sb)
>  			    == 0);
>  		igt_require(stat("/proc/sys/dev/i915/oa_max_sample_rate", &sb)
> -- 
> 2.20.1
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev


More information about the igt-dev mailing list