All of lore.kernel.org
 help / color / mirror / Atom feed
From: Karthik B S <karthik.b.s@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: juha-pekka.heikkila@intel.com, Karthik B S <karthik.b.s@intel.com>
Subject: [igt-dev] [PATCH i-g-t] tests/kms_big_fb: Add retry mechanism for async flip subtests
Date: Mon,  4 Oct 2021 14:26:29 +0530	[thread overview]
Message-ID: <20211004085629.2796-1-karthik.b.s@intel.com> (raw)

Async flip subtests fail sporadically with CRC failure on CI.
This is expected as these tests are not run on highest priority by the
scheduler, but this creates noise on CI. Add retry mechanism to rerun
the test once if failure is seen.

Signed-off-by: Karthik B S <karthik.b.s@intel.com>
---
 tests/i915/kms_big_fb.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/tests/i915/kms_big_fb.c b/tests/i915/kms_big_fb.c
index 308227c9..8c09f59e 100644
--- a/tests/i915/kms_big_fb.c
+++ b/tests/i915/kms_big_fb.c
@@ -481,6 +481,7 @@ max_hw_stride_async_flip_test(data_t *data)
 		       h = data->output->config.default_mode.vdisplay;
 	igt_plane_t *primary;
 	igt_crc_t compare_crc, async_crc;
+	bool retried = false;
 
 	igt_require(data->display.is_atomic);
 	igt_output_set_pipe(data->output, data->pipe);
@@ -513,6 +514,7 @@ max_hw_stride_async_flip_test(data_t *data)
 					  INTEL_PIPE_CRC_SOURCE_AUTO);
 	igt_pipe_crc_start(data->pipe_crc);
 
+retry:
 	igt_set_timeout(5, "Async pageflipping loop got stuck!\n");
 	for (int i = 0; i < 2; i++) {
 		igt_plane_set_fb(primary, &data->big_fb);
@@ -548,6 +550,13 @@ max_hw_stride_async_flip_test(data_t *data)
 		igt_assert_f(kmstest_get_vblank(data->drm_fd, data->pipe, 0) -
 			     startframe == 1, "lost frames\n");
 
+		/* Test is not running at real time priority, so allow one failure*/
+		if (!(igt_check_crc_equal(&compare_crc, &async_crc)^(i^1)) && !retried) {
+			retried = true;
+			igt_reset_timeout();
+			goto retry;
+		}
+
 		igt_assert_f(igt_check_crc_equal(&compare_crc, &async_crc)^(i^1),
 			     "CRC failure with async flip, crc %s match for checked round\n",
 			     i?"should":"shouldn't");
-- 
2.22.0

             reply	other threads:[~2021-10-04  8:54 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-04  8:56 Karthik B S [this message]
2021-10-04  9:19 ` [igt-dev] [PATCH i-g-t] tests/kms_big_fb: Add retry mechanism for async flip subtests Ville Syrjälä
2021-10-04 15:43   ` Ville Syrjälä
2021-10-05 10:00     ` Karthik B S
2021-10-05 10:22       ` Ville Syrjälä
2021-10-05 10:46         ` Juha-Pekka Heikkila
2021-10-05 11:06           ` Ville Syrjälä
2021-10-08 10:56             ` Karthik B S
2021-10-04 13:31 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2021-10-04 16:31 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211004085629.2796-1-karthik.b.s@intel.com \
    --to=karthik.b.s@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=juha-pekka.heikkila@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.