Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Karthik B S <karthik.b.s@intel.com>
Cc: igt-dev@lists.freedesktop.org, juha-pekka.heikkila@intel.com
Subject: Re: [igt-dev] [PATCH i-g-t] tests/kms_big_fb: Add retry mechanism for async flip subtests
Date: Mon, 4 Oct 2021 18:43:18 +0300	[thread overview]
Message-ID: <YVshFrxOVFlyFmNy@intel.com> (raw)
In-Reply-To: <YVrHBWTxHBHQEMZ0@intel.com>

On Mon, Oct 04, 2021 at 12:19:01PM +0300, Ville Syrjälä wrote:
> On Mon, Oct 04, 2021 at 02:26:29PM +0530, Karthik B S wrote:
> > 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;
> > +		}
> > +
> 
> This test seems to entirely fit kms_big_fb in general. I don't
                     ^
		     not

is what I meant to write. Somewhat important small word.

> think kms_big_fb should be testing any timing sensitive stuff.
> 
> So I think we should change this to a form that follows the rest
> of kms_big_fb to validate that each page flip just presents the
> correct data on screen. The timing sensitive stuff is best left
> for kms_async_flip.
> 
> So this should maybe be something like: flip to a correctly sized
> temp fb with the wrong contents and change the plane src coordinates,
> and then async flip back to the correct fb and validate the
> correct data is now on screen.
> 
> Oh and the async flip test should not be limited to the
> max-hw-stride part. We should test that async flips do the
> right thing with gtt remapping as well.
> 
> -- 
> Ville Syrjälä
> Intel

-- 
Ville Syrjälä
Intel

  reply	other threads:[~2021-10-04 15:57 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-04  8:56 [igt-dev] [PATCH i-g-t] tests/kms_big_fb: Add retry mechanism for async flip subtests Karthik B S
2021-10-04  9:19 ` Ville Syrjälä
2021-10-04 15:43   ` Ville Syrjälä [this message]
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=YVshFrxOVFlyFmNy@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=juha-pekka.heikkila@intel.com \
    --cc=karthik.b.s@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox