[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