[igt-dev] [PATCH i-g-t] tests/kms_concurrent: For i915 devices run allocator in multiprocess mode

Petri Latvala petri.latvala at intel.com
Fri May 20 05:56:29 UTC 2022


On Thu, May 19, 2022 at 04:17:45PM +0200, Zbigniew Kempczyński wrote:
> Test calls igt_fork() so for i915 requires offset allocation arbitration
> (allocator in multiprocess mode) especially when same drm fd is used
> in children. Dedicated thread (intel_allocator_multiprocess_start())
> is required to be started on the very beginning to handle offset
> allocations as well as stopping it (intel_allocator_multiprocess_stop())
> before test exits.
> 
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> Cc: Luciano Coelho <luciano.coelho at intel.com>
> Cc: Swati Sharma <swati2.sharma at intel.com>

Acked-by: Petri Latvala <petri.latvala at intel.com>

Now, having said that:

The test itself doesn't touch the allocator at all, it's done by
igt_fb.c's blitcopy() under the hood. Did you check if there's any
other tests that could have this problem? Suggesting a common way to
have tests communicate their intention to fork is overkill at this
point, unless the problem is widespread.


-- 
Petri Latvala



> ---
>  tests/kms_concurrent.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c
> index 82b2021e72..c334194b9a 100644
> --- a/tests/kms_concurrent.c
> +++ b/tests/kms_concurrent.c
> @@ -378,6 +378,8 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
>  		kmstest_set_vt_graphics_mode();
>  		igt_display_require(&data.display, data.drm_fd);
>  		igt_require(data.display.is_atomic);
> +		if (is_i915_device(data.drm_fd))
> +			intel_allocator_multiprocess_start();
>  	}
>  
>  	for_each_pipe_static(pipe) {
> @@ -386,6 +388,8 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
>  	}
>  
>  	igt_fixture {
> +		if (is_i915_device(data.drm_fd))
> +			intel_allocator_multiprocess_stop();
>  		igt_display_fini(&data.display);
>  		close(data.drm_fd);
>  	}
> -- 
> 2.32.0
> 


More information about the igt-dev mailing list