[igt-dev] [PATCH i-g-t v2] i915/kms_busy: reduce heartbeat intervals only if neccessary
Kamil Konieczny
kamil.konieczny at linux.intel.com
Fri Jun 16 09:29:48 UTC 2023
Hi Andrzej,
On 2023-06-15 at 13:55:16 +0200, Andrzej Hajda wrote:
> Reducing heartbeat intervals may downgrade individual engine resets
> to full GPU resets. The latter is not desirable, especially
> on simulations, which do not support GPU reset. Only tests with
> reset flag enabled need reduced hearbeat intervals.
>
> v2: moved timeouts init/restore to fixups of affected tests, to allow
> proper work in case test fail
Reviewed-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
>
> Reviewed-by: Nirmoy Das <nirmoy.das at intel.com>
> Signed-off-by: Andrzej Hajda <andrzej.hajda at intel.com>
> ---
> tests/i915/kms_busy.c | 20 ++++++++++++++------
> 1 file changed, 14 insertions(+), 6 deletions(-)
>
> diff --git a/tests/i915/kms_busy.c b/tests/i915/kms_busy.c
> index 20d3058fb6f..3b838cb8005 100644
> --- a/tests/i915/kms_busy.c
> +++ b/tests/i915/kms_busy.c
> @@ -390,8 +390,6 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
> { "extended-modeset-hang-oldfb-with-reset", true, false, true },
> { "extended-modeset-hang-newfb-with-reset", true, true, true },
> };
> - struct gem_engine_properties saved_gpu_timeouts[GEM_MAX_ENGINES];
> - int num_engines;
> int fd;
>
> igt_fixture {
> @@ -409,8 +407,6 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
> for_each_pipe(&display, pipe)
> active_pipes[last_pipe++] = pipe;
> last_pipe--;
> -
> - gpu_engines_init_timeouts(fd, ARRAY_SIZE(saved_gpu_timeouts), &num_engines, saved_gpu_timeouts);
> }
>
> /* XXX Extend to cover atomic rendering tests to all planes + legacy */
> @@ -470,8 +466,16 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
> }
>
> for (i = 0; i < sizeof(tests) / sizeof (tests[0]); i++) {
> - igt_fixture
> + struct gem_engine_properties saved_gpu_timeouts[GEM_MAX_ENGINES];
> + int num_engines;
> +
> + igt_fixture {
> igt_require(display.is_atomic);
> + if (tests[i].reset)
> + gpu_engines_init_timeouts(display.drm_fd,
> + ARRAY_SIZE(saved_gpu_timeouts),
> + &num_engines, saved_gpu_timeouts);
> + }
>
> igt_subtest_with_dynamic(tests[i].name) {
> igt_hang_t hang;
> @@ -501,10 +505,14 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
>
> igt_disallow_hang(display.drm_fd, hang);
> }
> +
> + igt_fixture {
> + if (tests[i].reset)
> + gpu_engines_restore_timeouts(display.drm_fd, num_engines, saved_gpu_timeouts);
> + }
> }
>
> igt_fixture {
> - gpu_engines_restore_timeouts(fd, num_engines, saved_gpu_timeouts);
> igt_display_fini(&display);
> close(display.drm_fd);
> }
> --
> 2.34.1
>
More information about the igt-dev
mailing list